您好,欢迎访问一九零五行业门户网

JDBC连接oracle RAC数据库配置

rac的配置如下: node1 : ip 地址 192.168.60.132 ,实例名: rac1 ,主机名: rac1 node2 : ip 地址 192.168.60.144 ,实例名: rac2 ,主机名: rac2 rac 服务名为 oratest 我的应用服务器为 apache + tomcat 配置过程如下 1、搜索了一下,发现提供的连
rac的配置如下:
node1:ip地址192.168.60.132,实例名:rac1,主机名:rac1
node2:ip地址192.168.60.144,实例名:rac2,主机名:rac2
rac服务名为oratest
我的应用服务器为apache+tomcat
配置过程如下
1、搜索了一下,发现提供的连接rac方法很多,拷贝了如下的jdbcurl:
jdbc:oracle:thin:@(description=(address_list= (address=(host=192.168.60.132) (protocol=tcp)(port=1521))(address=(host=192.168.60.144)(protocol=tcp) (port=1521)) (load_balance=yes)(failover=yes))(connect_data=(service_name= oratest)))
但是tomcat报出如下错误:
io 异常: nl exception was generated;
2、又从网上google、baidu一番,虽然找到n方法,但就是连不上,总是提示这个错误;
3、无奈之中,打开数据库tnsname.ora,发现其中的配置如下:
 oratest=
  (description =
    (address_list =
      (address = (protocol = tcp)(host = rac1)(port = 1521))
      (address = (protocol = tcp)(host = rac2)(port = 1521))
      (load_balance = yes)
    )
    (connect_data =
      (server = dedicated)
      (service_name = oratest)
    )
  )
于是将jdbcur修改成:
jdbc:oracle:thin:@(description=(address_list= (address=(host=rac1) (protocol=tcp)(port=1521))(address=(host=rac2)(protocol=tcp) (port=1521)) (load_balance=yes)(failover=yes))(connect_data=(service_name= oratest)))
测试一下,结果竟然成功了;
初步认为是:数据库服务采用主机名,而在jdbcurl中采用ip地址的方式就会出现nl exception的问题;
建议:对于连接rac有问题的情况,最好使用tnsnames.ora中连接字符串进行连接;
不知道大家有没有遇到这样的问题?
其它类似信息

推荐信息