喜歡從業(yè)的專注嗜浮,七分學(xué)習(xí)的態(tài)度劳较。
概述
經(jīng)常:碰到JAVA Spring配置數(shù)據(jù)庫連接后連接不上,但是PLSQL連接正常,這種情況下經(jīng)常選擇將TNS直接配置到Tomcat的JNDI中來解決問題拜英,但是配置在tomcat中對于多個項目交叉不好維護,特來提供有效的簡單的處理方式琅催。
關(guān)鍵說明
數(shù)據(jù)庫的部署有單實例和RAC的情況居凶,單實例比較簡單,使用SID連接藤抡;RAC 有多個實例來增加并發(fā)和負載侠碧,RAC時TNS一般配置的是Server Name,RAC節(jié)點根據(jù)Server情況自動跳到合適的SID缠黍。對于RAC的情況弄兜,有各自的實例,此時連接數(shù)據(jù)庫可以找到RAC下的SID瓷式,選擇其中的一個單獨的SID進行連接替饿,也可以直接改變連接方式使用RAC的連接方式進行連接。
連接方法
- 單實例:
直接配置實例名連接
jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@192.168.1.10:1521:sid
jdbc.username=rim_ts
jdbc.password=11
- RAC實例連接:
如果是RAC贸典,則先連接PLSQL视卢,找到SID,再將SID配置:
---查詢SID語句:
select instance_name from v$instance;
查詢SID
- RAC Server連接:
RAC最合理的方式是ServerName連接方式
jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@//192.168.1.10:1521/sname
jdbc.username=rim_ts
jdbc.password=11
- TNS 方式連接:
除了上面的方式還可以采用TNS串來進行類PLSQL的連接
jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.1.10)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = sname)))
jdbc.username=rim_ts
jdbc.password=11
技巧總結(jié):對于Java應(yīng)用配置數(shù)據(jù)源瓤漏,可以不管數(shù)據(jù)庫單實例還是RAC腾夯,先用jdbc:oracle:thin:@192.168.1.10:1521:sid方式颊埃,如果不行就用jdbc:oracle:thin:@//192.168.1.10:1521/sname方式蔬充。
<small>堅持積累,堅持學(xué)習(xí)班利。</small>