惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

罗磊的独立博客
U
Unit 42
N
Netflix TechBlog - Medium
人人都是产品经理
人人都是产品经理
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
小众软件
小众软件
V
Visual Studio Blog
T
Tailwind CSS Blog
Engineering at Meta
Engineering at Meta
博客园 - 叶小钗
GbyAI
GbyAI
爱范儿
爱范儿
雷峰网
雷峰网
Microsoft Azure Blog
Microsoft Azure Blog
D
DataBreaches.Net
博客园_首页
D
Docker
A
About on SuperTechFans
G
Google Developers Blog
I
InfoQ
T
The Blog of Author Tim Ferriss
V
V2EX
博客园 - Franky

膨胀自留地

使用CloudFlare标记管理功能优雅的使用谷歌分析 四天轻松版北京旅游攻略 Adsense税务居住地证明申请教程:如何申请中国税收居民身份证明以及Google Adsense更新新加坡税务信息教程 常见的 VPS 优化措施 HTML实现table表格移动端自动转为卡片样式 个人网站接入 Google 登录 如何从 GitHub 永久删除泄露的 .env 文件 Cloudflare设置www的域名跳转到不带www的域名 顶级iOS神器!全面解开App Store限制,AssPP Pro保姆级教程 BroadcastChannel将你的 Telegram Channel 转为微博客 Medama开源轻量级网站统计(分析)系统 白嫖一个网站监控面板:uptime-kuma 部署TraffMonetizer利用闲置VPS挂机赚钱 Counterscale-使用CloudflareWorkers部署的免费网站数据统计工具,界面类似umami 封装一个最简单的Axios,避免过度封装! 如何使用Cloudflare Email Routing创建域名邮箱免费发送邮件 使用Cron定时更新Hosts解决Gihub无法访问问题 容器化MariaDB/Mysql实现定时备份 JetBrains全家桶许可证服务器怎么找,JetBrains激活教程 图片加速接口:缓存图片,加速访问,解决防盗链 MySQL模糊查询再也不用like+%了,全文索引介绍及使用简介 为什么这么多人推荐你办理流量卡?流量卡怎么赚钱?怎么避坑? 借助Cloudflare Worker实现Google Analytics反代加速,规避广告屏蔽插件的拦截 etcd入门之在Centos上安装部署 Grafana在linux下安装和基本使用入门 Prometheus介绍、安装和基本功能快速入门 无需加速器,油猴插件解锁xbox云游戏 阿里云盘自动每日签到,无需部署,无需服务器 自定义VSCode终端主题样式 一行 CSS 代码实现响应式布局 – 使用 Grid 实现的响应式布局
DataX 报错:java.sql.SQLRecoverableException:IO 错误:Conn...
2021-04-19 · via 膨胀自留地

#编程技术 2021-04-19 15:04:37 | 全文 959 字,阅读约需 2 分钟 | 加载中... 次浏览

👋 相关阅读


在使用 DataX 抽取 Oracle 中的数据时,遇到了如下报错:

2021-04-19 14:04:47.207 [0-0-0-reader] ERROR ReaderRunner - Reader runner Received Exceptions:
com.alibaba.datax.common.exception.DataXException: Code:[DBUtilErrorCode-07], Description:[读取数据库数据失败. 请检查您的配置的 column/table/where/querySql或者向 DBA 寻求帮助.].  - 执行的SQL为: ****** 具体错误信息为:java.sql.SQLRecoverableException: IO 错误: Connection reset
        at com.alibaba.datax.common.exception.DataXException.asDataXException(DataXException.java:26) ~[datax-common-0.0.1-SNAPSHOT.jar:na]
        at com.alibaba.datax.plugin.rdbms.util.RdbmsException.asQueryException(RdbmsException.java:93) ~[plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]
        at com.alibaba.datax.plugin.rdbms.reader.CommonRdbmsReader$Task.startRead(CommonRdbmsReader.java:220) ~[plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]
        at com.alibaba.datax.plugin.reader.oraclereader.OracleReader$Task.startRead(OracleReader.java:110) ~[oraclereader-0.0.1-SNAPSHOT.jar:na]
        at com.alibaba.datax.core.taskgroup.runner.ReaderRunner.run(ReaderRunner.java:57) ~[datax-core-0.0.1-SNAPSHOT.jar:na]
        at java.lang.Thread.run(Thread.java:748) [na:1.8.0_191]

java.sql.SQLException: Io 异常: Connection reset 大意看起来应该是连接问题,网上查了一下,说是当数据库连接池中的连接被创建而长时间不使用的情况下,该连接会自动回收并失效,但客户端并不知道,在进行数据库操作时仍然使用的是无效的数据库连接,这样,就导致客户端程序报“java.sql.SQLException: Io 异常: Connection reset” 或 “java.sql.SQLException 关闭的连接” 异常。

网上跟这个问题相关的解决思路是 Connection Reset 的原因有可能有以下几种原因:

  1. 配置的数据连接池的连接数不够用;

  2. 数据库的连接池中的连接,长时间不用,数据库主动断开连接,而客户端不知道,在用的时候仍然拿到的是无效的连接;

分别对应以上的两种猜想的原因,进行处理:

  1. 配置连接池的最大、最小、空闲连接数等;

  2. 配置对连接池里的连接进行有效性检查,如,配置有效性连接检查 sql 语句,配置是否进行有效性检查等;

但是这两种方法都不太适用我目前的情况,因为我无法修改 DataX 底层的源代码,所以无法验证上边两种方法,但是我找到了另一种解决方法。

首先解释下另一种出现这个问题的原因:

连接 ORACLE 服务器,客户端要生成随机密钥用于客户端认证,linux 下 JDK 默认使用 /dev/random,random 采用阻塞方式生成随机数,生成的速度很慢,ORACLE 服务器会主动 reset,并在 alert.log 中报错:

TNS-12535: TNS:operation timed out
    ns secondary err code: 12606
    nt main err code: 0
    nt secondary err code: 0
    nt OS err code: 0
  Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.6.21)(PORT=33460))
WARNING: inbound connection timed out (ORA-3136)

解决方案:

1、找到配置的 $JAVA_HOME,如果自己知道的就不需要这一步。

cat /etc/profile

在文件中找到 export JAVA_HOME= 这一行,后边的路径记下来。

图片alt

2、编辑 $JAVA_HOME/jre/lib/security/java.security,$JAVA_HOME 替换为上一步查出的路径

vi /usr/local/jdk1.8.0_191/jre/lib/security/java.security

将文件中 securerandom.source=file:/dev/random 改为 file:/dev/urandom (urandom采用非阴塞式生成随机数,性能很好,不会产生超时)

3、解决。

via: ojdbc在linux环境下 java.sql.SQLRecoverableException: IO Error: Connection reset 的问题 - leon.sang - 博客园 https://www.cnblogs.com/bmwsl/p/11412362.html


×