公司数据库使用 Oracle 11.2.0.4 版本,RAC 环境.java
数据库集群: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来操做.oracle
以前尝试经过JDBC直连192.168.1.210 一直链接失败,能够直连192.168.1.211.询问DBA后知道是SCAN方式.属于新特性.spa
网上找了下参考: http://blog.csdn.net/renfengjun/article/details/8080865 .net
原Oracle链接字符串由: code
jdbc:oracle:thin:@192.168.1.210:1521:wmsdb
改成: blog
jdbc:oracle:thin:@192.168.1.210:1521/wmsdb
便可.注意最后.字符串
分析缘由:get
第一种写方是经过SID的方式链接数据库class
第二种写法是经过监听服务名的方式链接数据 (就是在服务端经过 Net Manager配置的监听名称).
由于SCAN IP 把两个RAC给封装了,可是 SCAN 自己只有 监听服务名 没有 SID,因此只能经过 监听服务名的方式访问