我们在 Oracle 数据库中使用 tomcat jdbc 连接池。最近,我们遇到了来自 JDBC THIN CLIENT 的 Oracle 数据库中的非活动会话过多的问题。
任何人都可以帮助我们吗?为什么它会导致数据库中的非活动会话以及解决此问题的方法。
谢谢你。
我们在 Oracle 数据库中使用 tomcat jdbc 连接池。最近,我们遇到了来自 JDBC THIN CLIENT 的 Oracle 数据库中的非活动会话过多的问题。
任何人都可以帮助我们吗?为什么它会导致数据库中的非活动会话以及解决此问题的方法。
谢谢你。
If you are getting SQLException
s because connections have timed out, you should set a validationQuery
(to something like SELECT 0 FROM DUAL
) and your connections will be tested before they are checked-out of the pool. Any connection that has failed will be replaced by a working connection and then returned to your code.
按照文档调整池的设置。将maxIdle
和设置minEvictableIdleTimeMillis
为较低的值将确保空闲连接被快速驱逐,并且很少有空闲连接保持打开状态。显然,它也会降低池的效率,因为连接会更频繁地关闭和打开。