TNS-12533:TNS:illegal ADDRESS parameters

今天用JAVA连接库时报

java.sql.SQLException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
The Connection descriptor used by the client was:
10.180.43.200:1521:prodb

意思是找不到SID

 

在命令行执行tsnping:

TNS-12533:TNS:illegal ADDRESS parameters

查下资料,这个错误是tnsname.ora配置不正确引起的,于是检查tnsname.ora文件,配置正确。

 

 

数据库是10G 的RAC,用JAVA连接的是服务名,prodb是两个节点对外提供服务的服务名。改到单一节点prodb1,连接正常。这说明要么是数据配置不正确,造成java不能连接到服务名,要么是JAVA本身的原因只能连接到一个实体的节点上。

要网上搜索一下,发现JAVA连接RAC时应该把VIP写上:

 

  1. jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=" +   
  2.         "(ADDRESS=(PROTOCOL=TCP)(HOST=ip1)(PORT=1521))" +   
  3.         "(ADDRESS=(PROTOCOL=TCP)(HOST=ip2)(PORT=1521))" +   
  4.         "(LOAD_BALANCE=yes)(FAILOVER=on))" +   
  5.         "(CONNECT_DATA=(SERVICE_NAME=orcl)))

引用 :http://blog.sina.com.cn/s/blog_4b81125f0100lmpv.html

 

以上内容可能不对,请读者自行研究。

你可能感兴趣的:(oracle,ORA-12505)