设为首页收藏本站 开启辅助访问
 找回密码
 立即注册

QQ登录

只需一步,快速开始

用新浪微博登录

只需一步,快速搞定

查看: 410|回复: 5

[未解决] kettle并行调用连接不上Oracle

[复制链接]

1

主题

4

帖子

26

积分

新手上路

Rank: 1

积分
26
发表于 2018-4-7 04:36:11 | 显示全部楼层 |阅读模式
我这里使用的是自己开发的一个java程序,定时调用shell脚本,shell里调用pan.sh 来执行Kettle转换;单个执行的话很快能执行完,但是同时执行多个的话,只有其中一个 能正常执行成功,其余都报错,报错信息如下:
2018/01/26 01:42:44 - 表输出.0 - ERROR (version 7.1.0.0-12, build 1 from 2017-05-16 17.18.02 by buildguy) : An error occurred intialising this step:
2018/01/26 01:42:44 - 表输出.0 - Error occurred while trying to connect to the database
2018/01/26 01:42:44 - 表输出.0 -
2018/01/26 01:42:44 - 表输出.0 - Error connecting to database: (using class oracle.jdbc.driver.OracleDriver)
2018/01/26 01:42:44 - 表输出.0 - IO Error: Broken pipe (Write failed)
2018/01/26 01:42:44 - 表输入.0 - ERROR (version 7.1.0.0-12, build 1 from 2017-05-16 17.18.02 by buildguy) : An error occurred, processing will be stopped:
2018/01/26 01:42:44 - 表输入.0 - Error occurred while trying to connect to the database
2018/01/26 01:42:44 - 表输入.0 -
2018/01/26 01:42:44 - 表输入.0 - Error connecting to database: (using class oracle.jdbc.driver.OracleDriver)
2018/01/26 01:42:44 - 表输入.0 - IO Error: Connection reset
2018/01/26 01:42:44 - 表输出.0 - ERROR (version 7.1.0.0-12, build 1 from 2017-05-16 17.18.02 by buildguy) : 错误初始化步骤[表输出]
2018/01/26 01:42:44 - 表输入.0 - ERROR (version 7.1.0.0-12, build 1 from 2017-05-16 17.18.02 by buildguy) : 错误初始化步骤[表输入]
2018/01/26 01:42:44 - SEMP_IPD_PROD_QUOTE_QX - ERROR (version 7.1.0.0-12, build 1 from 2017-05-16 17.18.02 by buildguy) : 步骤 [表输入.0] 初始化失败!
2018/01/26 01:42:44 - SEMP_IPD_PROD_QUOTE_QX - ERROR (version 7.1.0.0-12, build 1 from 2017-05-16 17.18.02 by buildguy) : 步骤 [表输出.0] 初始化失败!
2018/01/26 01:42:44 - 表输入.0 - Finished reading query, closing connection.
2018/01/26 01:42:44 - 表输出.0 - ERROR (version 7.1.0.0-12, build 1 from 2017-05-16 17.18.02 by buildguy) : Unexpected error rolling back the database connection.
2018/01/26 01:42:44 - 表输出.0 - ERROR (version 7.1.0.0-12, build 1 from 2017-05-16 17.18.02 by buildguy) : org.Pentaho.di.core.exception.KettleDatabaseException:
2018/01/26 01:42:44 - 表输出.0 - Unable to get database metadata from this database connection
2018/01/26 01:42:44 - 表输出.0 -  at org.pentaho.commons.launcher.Launcher.main (Launcher.java:92)
2018/01/26 01:42:44 - 表输出.0 -  at java.lang.reflect.Method.invoke (Method.java:498)
2018/01/26 01:42:44 - 表输出.0 -  at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
2018/01/26 01:42:44 - 表输出.0 -  at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
2018/01/26 01:42:44 - 表输出.0 -  at sun.reflect.NativeMethodAccessorImpl.invoke0 (NativeMethodAccessorImpl.java:-2)
2018/01/26 01:42:44 - 表输出.0 -  at org.pentaho.di.pan.Pan.main (Pan.java:517)
2018/01/26 01:42:44 - 表输出.0 -  at org.pentaho.di.trans.Trans.execute (Trans.java:627)
2018/01/26 01:42:44 - 表输出.0 -  at org.pentaho.di.trans.Trans.prepareExecution (Trans.java:1128)
2018/01/26 01:42:44 - 表输出.0 -  at org.pentaho.di.trans.steps.tableoutput.TableOutput.dispose (TableOutput.java:621)
2018/01/26 01:42:44 - 表输出.0 -  at org.pentaho.di.core.database.Database.rollback (Database.java:880)
2018/01/26 01:42:44 - 表输出.0 -  at org.pentaho.di.core.database.Database.rollback (Database.java:888)
2018/01/26 01:42:44 - 表输出.0 -  at org.pentaho.di.core.database.Database.getDatabaseMetaData (Database.java:2917)
2018/01/26 01:42:44 - 表输出.0 -
2018/01/26 01:42:44 - 表输出.0 -         at org.pentaho.di.core.database.Database.getDatabaseMetaData(Database.java:2919)
2018/01/26 01:42:44 - 表输出.0 -         at org.pentaho.di.core.database.Database.rollback(Database.java:888)
2018/01/26 01:42:44 - 表输出.0 -         at org.pentaho.di.core.database.Database.rollback(Database.java:880)
2018/01/26 01:42:44 - 表输出.0 -         at org.pentaho.di.trans.steps.tableoutput.TableOutput.dispose(TableOutput.java:621)
2018/01/26 01:42:44 - 表输出.0 -         at org.pentaho.di.trans.Trans.prepareExecution(Trans.java:1128)
2018/01/26 01:42:44 - 表输出.0 -         at org.pentaho.di.trans.Trans.execute(Trans.java:627)
2018/01/26 01:42:44 - 表输出.0 -         at org.pentaho.di.pan.Pan.main(Pan.java:517)
2018/01/26 01:42:44 - 表输出.0 -         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2018/01/26 01:42:44 - 表输出.0 -         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
2018/01/26 01:42:44 - 表输出.0 -         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2018/01/26 01:42:44 - 表输出.0 -         at java.lang.reflect.Method.invoke(Method.java:498)
2018/01/26 01:42:44 - 表输出.0 -         at org.pentaho.commons.launcher.Launcher.main(Launcher.java:92)
2018/01/26 01:42:44 - 表输出.0 - Caused by: java.lang.NullPointerException
2018/01/26 01:42:44 - 表输出.0 -         at org.pentaho.di.core.database.Database.getDatabaseMetaData(Database.java:2917)
2018/01/26 01:42:44 - 表输出.0 -         ... 11 more

点评

海!外直播 t.cn/RxlBL8F 禁闻视频 t.cn/RxBCc6t 河南交通厅长曾锦城上任写血书:"...保证不收一分钱"被判15年.二任张昆桐口号:"廉政..."被判无期.三任石发亮提出:"一个廉字值千金"被判无期.真是前腐后继,古今一大奇   发表于 2018-5-30 14:48
楼主热帖

1

主题

4

帖子

26

积分

新手上路

Rank: 1

积分
26
 楼主| 发表于 2018-4-7 04:37:53 | 显示全部楼层
然后查了Oracle端的日志,发现日志里都是报的操作超时错误,日志如下:
Fatal NI connect error 12170.

  VERSION INFORMATION:
        TNS for 64-bit Windows: Version 11.2.0.1.0 - Production
        Oracle Bequeath NT Protocol Adapter for 64-bit Windows: Version 11.2.0.1.0 - Production
        Windows NT TCP/IP NT Protocol Adapter for 64-bit Windows: Version 11.2.0.1.0 - Production
  Time: 29-3月 -2018 15:41:23
  Tracing not turned on.
  Tns error struct:
    ns main err code: 12535
   
TNS-12535: TNS: 操作超时
    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=172.16.10.104)(PORT=54683))
WARNING: inbound connection timed out (ORA-3136)

1

主题

4

帖子

26

积分

新手上路

Rank: 1

积分
26
 楼主| 发表于 2018-4-7 04:42:42 | 显示全部楼层
按网上的方法:
设置sqlnet.ora文件:SQLNET.INBOUND_CONNECT_TIMEOUT=0
设置listener.ora文件: INBOUND_CONNECT_TIMEOUT_listenername=0
这样是能连接上了,但是本来几秒钟能执行完的,光在数据库连接那个地方就耗费了十几分钟甚至几十分钟。
请大神帮忙看看这个是数据库的问题还是kettle本身的问题?

0

主题

1

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2018-5-5 17:16:37 | 显示全部楼层
这个是Oracle驱动有问题,如果用ojdbc6  那么就会出现这个问题,但是换成老的ojdbc14 没有这个问题,但是14有缺陷,很纠结

1

主题

4

帖子

26

积分

新手上路

Rank: 1

积分
26
 楼主| 发表于 2018-5-8 21:36:40 | 显示全部楼层
谢谢大神!
的确是换成14就没问题了,但是换成14后连接12C又有问题,报ORA-28040,修改了12C的参数后就行了:
vi sqlnet.ora
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
就是不知道还有没有其他问题呢?求大神指点!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋| μKettle ( 沪ICP备14044064号 )     

GMT+8, 2018-9-23 05:18 , Processed in 0.089343 second(s), 19 queries , File On.

Powered by Discuz!  uKettle

Copyright © 2014 Comsenz Inc.

快速回复 返回顶部 返回列表