公司数据库使用 Oracle 11.2.0.4 版本,RAC 环境.
数据库集群:192.168.1.211 (RAC1,SID:wmsdb1),192.168.1.212 (RAC2,SID:wmsdb2).
使用11gR2的scan新特性建了 192.168.1.210(监听服务名:wmsdb) 作为scan IP.平时我们通过1.210来操作.
之前尝试通过JDBC直连192.168.1.210 一直连接失败,可以直连192.168.1.211.询问DBA后知道是SCAN方式.属于新特性.
网上找了下参考: http://blog.csdn.net/renfengjun/article/details/8080865
原Oracle连接字符串由:
jdbc:oracle:thin:@192.168.1.210:1521:wmsdb
改为:
jdbc:oracle:thin:@192.168.1.210:1521/wmsdb
即可.注意最后.
分析原因:
第一种写方是通过SID的方式连接数据库
第二种写法是通过监听服务名的方式连接数据 (就是在服务端通过 Net Manager配置的监听名称).
因为SCAN IP 把两个RAC给封装了,但是 SCAN 本身只有 监听服务名 没有 SID,所以只能通过 监听服务名的方式访问
来源:oschina
链接:https://my.oschina.net/u/67403/blog/597295