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

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

Kettle中配置oracle RAC

 

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

Kettle中配置oracle RAC

大体意思就是:

·设置为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修改,然后程序不用做修改,也就是如下的配置:

Kettle中配置oracle RAC

Kettle中配置oracle RAC

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

后来做了修改,如下:

Kettle中配置oracle RAC

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

验证结果:

Kettle中配置oracle RAC

 

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

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

 

 

  

 

相关文章:

  • 2022-12-23
  • 2021-04-04
  • 2021-07-17
  • 2021-06-17
  • 2021-10-27
  • 2021-10-12
  • 2021-12-28
猜你喜欢
  • 2022-12-23
  • 2021-12-18
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-21
  • 2022-12-23
相关资源
相似解决方案