连接泄漏问题Weblogic

时间:2012-05-14 19:57:59

标签: oracle oracle10g weblogic connection-pooling database-performance

在我们的数据库中,我们发现GV $ Session中的非活动会话数很高。但是,监视weblogic服务器中的连接池时,找不到数据库中指示的连接数。

检查应用程序代码是否存在连接泄漏,但无法找到。能否请你帮我说明这可能是问题所在。

Weblogic 8.1, Oracle 10g

2 个答案:

答案 0 :(得分:0)

您是否在Weblogic群集中运行?

请记住,每个受管服务器都会打开配置的数据库连接数,因此,如果您有10个JDBC连接和4个受管服务器,那么它就是40个打开的会话。

然后,您是否使用相同的凭据将多个池配置到同一个数据库,您必须为每个受管服务器总计所有这些池。

答案 1 :(得分:0)

请计算连接设置中每个JDBC允许的最大连接数。 然后检查每个JDBC到每个服务器的映射。

当您的应用程序运行时,weblogic服务器会创建与DB的连接,在用户之后,它将其作为非活动会话保留,而不是断开连接。因此很容易重复使用weblogic。随着越来越多的负载被放在应用程序上,这个数字增加到允许的最大数量。

一旦超过一个JDBC的数量,JVM就开始给出错误。

但连接不会丢失,它们处于非活动状态。理解这与你得到的数量有关。

我想他们会一样的。在这种情况下,调整您的应用程序以减少连接时间,并在网络上提供更好的连接逻辑。