ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
结果问了DBA是JDBC链接串配的有问题。因为生产环境的Oracle做了高可用多节点的方式部署,所以JDBC连接串不能使用简单的IP形式,而是要使用TNS连接多节点的Oracle。下面是有4个ip和2个服务名的链接串模板。这个具体需要DBA提供,要把这一大串东西放到jdbc:oracle:thin:@
后面。
(DESCRIPTION_LIST=(LOAD_BALANCE=ON)(FAILOVER=ON)
(DESCRIPTION=(ENABLE=BROKEN)(CONNECT_TIMEOUT=3)(RETRY_COUNT=2)
(ADDRESS_LIST=(LOAD_BALANCE=ON)(FAILOVER=ON)
(ADDRESS=(PROTOCOL=TCP)(HOST=IP1)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=IP2)(PORT=1521))
)
(CONNECT_DATA=(SERVICE_NAME=SN1))
)
(DESCRIPTION=(ENABLE=BROKEN)(CONNECT_TIMEOUT=3)(RETRY_COUNT=2)
(ADDRESS_LIST=(LOAD_BALANCE=ON)(FAILOVER=ON)
(ADDRESS=(PROTOCOL=TCP)(HOST=IP3)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=IP4)(PORT=1521))
)
(CONNECT_DATA=(SERVICE_NAME=SN2))
)
)