关于错误:ORA-12592: TNS: 包错误 和 Io 异常: Connection reset by peer: socket write error

最近几天在这边做导入数据的工作,但是遇到了很多问题,还好推迟上线了,不然真的要耽误工时了(谁让专业的DBA们都不见了呢)

这里写图片描述

这里写图片描述

今天周三了,今天报的错误清一色和前天的一样,而昨天的错误如下:

8:20 - CREDIT_NEW - ERROR (version 5.4.0.1-130, build 1 from 2015-06-14_12-34-55 by buildguy) : Error disconnecting from database:
2017/07/18 13:48:20 - CREDIT_NEW -
2017/07/18 13:48:20 - CREDIT_NEW - Error comitting connection
2017/07/18 13:48:20 - CREDIT_NEW - Io 异常: Connection reset by peer: socket write error
2017/07/18 13:48:20 - CREDIT_NEW - ERROR (version 5.4.0.1-130, build 1 from 2015-06-14_12-34-55 by buildguy) : org.pentaho.di.core.exception.KettleDatabaseException:
2017/07/18 13:48:20 - CREDIT_NEW - Error comitting connection
2017/07/18 13:48:20 - CREDIT_NEW - Io 异常: Connection reset by peer: socket write error
2017/07/18 13:48:20 - CREDIT_NEW -
2017/07/18 13:48:20 - CREDIT_NEW - at org.pentaho.di.core.database.Database.commit(Database.java:786)
2017/07/18 13:48:20 - CREDIT_NEW - at org.pentaho.di.core.database.Database.commit(Database.java:758)
2017/07/18 13:48:20 - CREDIT_NEW - at org.pentaho.di.core.database.Database.disconnect(Database.java:640)
2017/07/18 13:48:20 - CREDIT_NEW - at org.pentaho.di.trans.steps.tableoutput.TableOutput.dispose(TableOutput.java:616)
2017/07/18 13:48:20 - CREDIT_NEW - at org.pentaho.di.trans.step.RunThread.run(RunThread.java:96)
2017/07/18 13:48:20 - CREDIT_NEW - at java.lang.Thread.run(Thread.java:745)
2017/07/18 13:48:20 - CREDIT_NEW - Caused by: java.sql.SQLException: Io 异常: Connection reset by peer: socket write error
2017/07/18 13:48:20 - CREDIT_NEW - at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
2017/07/18 13:48:20 - CREDIT_NEW - at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
2017/07/18 13:48:20 - CREDIT_NEW - at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333)
2017/07/18 13:48:20 - CREDIT_NEW - at oracle.jdbc.driver.OracleConnection.commit(OracleConnection.java:1345)
2017/07/18 13:48:20 - CREDIT_NEW - at org.pentaho.di.core.database.Database.commit(Database.java:777)
2017/07/18 13:48:20 - CREDIT_NEW - … 5 more

环境描述

Oracle :11.2.0
kettle:5.4.0.1
jdk:1.8.0_45

在网上查到的相似问题大多是关于这几个原因:

  • 防火墙
  • 网络不稳定
  • sqlnet.ora文件配置
  • 数据库驱动

参考文章:
1.http://m.blog.itpub.net/26129555/viewspace-2120931/
2.http://blog.csdn.net/zheng963/article/details/46789013
3.http://bbs.csdn.net/topics/391860748
4.http://www.jellythink.com/archives/991
5.http://www.ithao123.cn/content-5571114.html
6.http://www.ithao123.cn/content-8691238.html

第一个解决方案是更新了Oracle的驱动 可是经过我查看了之后,发现驱动是没问题的,所以并没有解决

第二个由于和我所用的连接方式不同(他用的C3P0),所以并不能对症下药。

第三个提出了 sqlnet.ora 文件的配置修改,发现并没有卵用。然后在最后一楼提出了最后一个的解决方案,应该是参考过这篇文章

第四个关于第三种提到的 sqlnet.ora 文件的配置修改的一点科普

第五个提出了一个在上传数据的过程中由于单次提交量过大而导致的数组越界,但是经过实验发现这个并不是问题所在。

第六个经过详细的排查和分析提出了是由BUG引起的,18841764 但是他在应用过程中和我用的版本是不一样的,而且=。=我没有找到去哪里下这个补丁,所以最后问题还是没有解决。

在经过十几个小时的百度谷歌之后还是没有解决问题,下面列出来参考过的文章和尝试过的办法,希望看到的朋友或者今后的自己能解决这个问题


转载请注明出处:http://blog.csdn.net/qq_22073849

谢谢阅读,多多指教。