前几天,去客户现场部署系统,WEBLOGIC连接数据库使用RAC方式连接,好几个人弄了一下午愣是没搞定,总是报SID错误
开始一致认为是防火墙的原因,后来SSH登陆应用服务器后,再TELNET数据库服务器,是可以登陆的,而且本机的PLSQL也是可以连接到数据库的,网络部给了我们3个IP
第一个172.19.180.40,实例名是wdbd,这是虚拟出来的IP,之后的两个是172.19.190.43,wdb1,172.19.180.44,wdb2这两个是实际的IP地址,我们用PLSQL连接40的IP是可以正常登陆的,但是登陆后边两个是不行的,是启用了负载均衡的原因吧。
第二天弄好了,连接字符串的问题,网上找了很多都不对,后来又试了下边这种,可以连接到了,
这几天,应用程序后台一直报无法取得连数据库接池。但之前从来没有这个问题,迁移到Weblogic后才发生。
之后据了解,我们服务器上的Oracle 10G 是 RAC 的,即有两个节点。
两个节点 IP及实例名分别为:
10.1.43.11 stnic1
10.1.43.21 stnic2
配置数据源时 一直使用的是第一个 URL 及 实例名,配置完后,连接URL为:
jdbc:oracle:thin:@10.1.43.11:1521:stnic1
Weblogic 中显示的是但之后根据和DBA 的交流 发现当ORACLE是RAC配置的时候,连接池的 URL及实例名 应该用另一种写法:
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.1.43.11)(PORT=1521))(ADDRESS=(PROTOCOL=TC