公司數據庫使用 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,因此只能經過 監聽服務名的方式訪問