Kettle中配置oracle RAC

由于项目中使用了oracle v-ip做了oracle数据库集群,现在需要把项目中程序进行升级。

原来的程序中直接使用的是JDBC然后配置的kettle.properties配置文件,如下图:

根据项目需要,查看了相关资料oracle官网说明如下:

大体意思就是:

·设置为native(JDBC)链接方式

·将hostname跟port设置为空(port或设置为-1)

·然后将database name设置为以下三种方式中的一种

 (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = host1-vip)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST = host2-vip)(PORT = 1521))(LOAD_BALANCE = yes)(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = db-service)(FAILOVER_MODE =(TYPE = SELECT)(METHOD = BASIC)(RETRIES = 180)(DELAY = 5))))

  or

  (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=xxxx)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=xxxx)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=sid)))

  or

  (DESCRIPTION=(FAILOVER=ON)(ADDRESS_LIST=(LOAD_BALANCE=ON)(ADDRESS=(PROTOCOL=TCP)(HOST=xxxxx)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=sid)))

 看了资料,现在开始修改程序配置,刚开始,想直接修改kettle.properties配置文件,将hostname port database name修改,然后程序不用做修改,也就是如下的配置:

这样是改动最小的,但是,经过验证这种方式行不通,程序报错。。。

后来做了修改,如下:

配置文件中需要只修改database name,但是需要修改程序中的数据库连接。

验证结果:

注:如果修改配置后连接数据库失败,查看下kettle版本。

  估计只有kettle4.x及以上版本才支持rac模式,我生产原来用的是kettle3.0,升级程序及配置文件后连接失败,升级kettle3.0到kettle4.2之后连接成功。

  

原文地址:https://www.cnblogs.com/edi-kai/p/10034036.html