异常日志
####<2019-12-26 上午06时34分32秒 CST> <Warning> <JDBC> <DC-BIZ-VM-LOAN-AP-001> <fmserver> <[ACTIVE] ExecuteThread: '13' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1577313272561> <BEA-001153> <Forcibly releasing inactive/harvested connection "weblogic.jdbc.wrapper.PoolConnection_oracle_jdbc_driver_T4CConnection@39a9355" back into the data source connection pool "als", currently reserved by: java.lang.Exception at weblogic.jdbc.common.internal.ConnectionEnv.setup(ConnectionEnv.java:367) at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:379) at weblogic.jdbc.common.internal.HAConnectionPool.getExistingConnection(HAConnectionPool.java:1070) at weblogic.jdbc.common.rac.internal.UCPRACModuleImpl.getAvailableConnections(UCPRACModuleImpl.java:717) at oracle.ucp.jdbc.oracle.RACCallbackGuard.getAvailableConnections(RACManagerImpl.java:332) at oracle.ucp.jdbc.oracle.RACManagerImpl.selectConnectionPerRCLB(RACManagerImpl.java:3325) at oracle.ucp.jdbc.oracle.RACManagerImpl.selectConnectionPerRCLBAndAffinity(RACManagerImpl.java:2653) at weblogic.jdbc.common.rac.internal.UCPRACModuleImpl.getConnection(UCPRACModuleImpl.java:270) at weblogic.jdbc.common.internal.HAConnectionPool.reserve(HAConnectionPool.java:169) at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:129) at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:158) at weblogic.jdbc.pool.Driver.connect(Driver.java:132) at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:658) at weblogic.jdbc.jts.Driver.connect(Driver.java:127) at weblogic.jdbc.common.internal.RmiDataSource.getConnectionInternal(RmiDataSource.java:548) at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:513) |
问题分析:
业务系统代码程序获取数据库连接,当完成业务处理后,没有使用代码显式地对该连接进行关闭(即还回池中,并非关闭物理连接),从而导致分配出去的连接不能回收到连接池中进行重用,最后引发数据库连接不足,应用出现无法使用或响应缓慢的问题。
建议
1、建议开发人员检查业务主线代码,将调用连接的代码编写finally语句块进行关闭处理。
2、零时解决办法:增加连接池“非活动连接超时”参数值。
登录AdminServer Console控制台,依次“服务”->“数据源”->“配置”点击对应的数据源->“连接池”依次查看如下参数:
非活动连接超时:120 (治标不治本)