现场同事反馈:中间件weblogic连不上数据库Oracle,发回日志可以看到:
Caused by: weblogic.common.ResourceException: weblogic.common.ResourceException: Could not create pool connection. The DBMS driver exception was: Io 异常: Broken pipe
at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(ConnectionEnvFactory.java:256)
at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1180)
at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1104)
at weblogic.common.resourcepool.ResourcePoolImpl.start(ResourcePoolImpl.java:244)
at weblogic.jdbc.common.internal.ConnectionPool.doStart(ConnectionPool.java:1065)
at weblogic.jdbc.common.internal.ConnectionPool.start(ConnectionPool.java:146)
at weblogic.jdbc.common.internal.ConnectionPoolManager.createAndStartPool(ConnectionPoolManager.java:385)
at weblogic.jdbc.common.internal.ConnectionPoolManager.createAndStartPool(ConnectionPoolManager.java:326)
诊断过程:
1.熟悉环境,应用服务器和数据库服务器都是AIX。
2.检测应用服务器与数据库服务器之间的连通性,在应用服务器上ping 数据库服务器ip,ping了一分钟,是通的,且没有丢包的问题。在应用服务器上telnet 数据库服务器IP:端口,是通的,连通性没有问题。
3.登录数据库服务器,查看监听日志listener.log,发现了应用服务器ip是正常的。
4.关闭数据库服务器上的防火墙,还是不行。
5.重新部署一个域,建连接池,测试是可以的。于是在新部署的域上发布了系统,测试系统是可以访问的。
本地的诊断结果是:很可能是域受到损坏导致。