weblogic 的日志出现大量的这种Connection for pool closed错误

weblogic 的日志出现大量的这种Connection for pool closed错误,第1张

物理连接关闭

WeblogicServer日志

####<2014-9-5 上午02时10分12秒 GMT+08:00><Info><JDBC><nw_cpees_pichuli_3><BATCH4><Thread-2574368><<anonymous>><><><1409854212313><BEA-001128><或脊纤Connection for pool "SCDS" closed.>

在Weblogic Server日志中可以观察到大量的Connection for pool"SCDS" closed信息,表示系统在某一时刻会批量关闭一批连接,一般断掉物理连接会这么做(WebLogic配置池收缩也会这么做,如果未配置的话默认为900s检查一次,从您的配置文件发现未配置池收缩)。从线程名称看,是应用程序的线程关闭了连接。且在应用日志发现有大量如下日志信息:

972102: 0E9F01ITRG2C594F: 220809998 INFOcn.gwssi.common.dao.ds.source.DBController(close:321) - [gwssi] 线程[972102]关闭数据库连接;连接时间:2014/09/15 08:30:20 143;关闭时间:2014/09/15 08:30:20 147

建议让开发人员检查程序,为什么要关闭物理连接。一般我们不建议应用程序直接管理连接池的连接,这些都是Weblogic自身管理的,不然容易造野渣成混乱。应用程序只在需要时从连接池中获取连接,使用完成后调用connection.close()方法把连接还给池即可。(这里的close不是关闭连接物理连接,而是把连接还给连接池,以便应用程序再使用)

连接池参数不合理

WeblogicServer日志:

#####<2014-9-15 上午09时10分58秒 GMT+08:00><Info><Common><nw_cpees_pichuli_3><BATCH4><Thread-973306><<anonymous>><><><1410743458081><BEA-000628><Created "1" resources for pool"SCDS", out of which "1" are available and "0"are unavailable.>

在Weblogic Server日志中可以观察到大量的上述信息,表示系统业务高峰期时大量创建连接,另与现场工程师沟通发现出现过Reachedmaximum capacity of pool信息。可以看出当前连接池参数设置稍有不合理之处衫仿

数据库查询连接异常情况:

查询当前占用数据库连接较多的主机和登录用户名 

select count(*),SCHEMANAME,machine from v$session group by SCHEMANAME,machine

如果某一主机占用连接数很大,明显不正常,进一步,检查造成这种情况的sql(最近执行过的):

select count(*),v.PREV_SQL_ADDR,v.PREV_HASH_VALUE from v$session v group by v.PREV_SQL_ADDR,v.PREV_HASH_VALUE order by count(*) desc

查询相关的SQL内容:

select * from v$sql s wheres.ADDRESS='C0000013B7BE85D8' and s.HASH_VALUE='32127143'

定位到sql后,修改未关闭连接处。

1、在weblogic的控制台中,点击“服务”,在左侧树形菜单中,选择“日志”,在右侧的旦塌“日志设置”中,点击“新建”,输入日志名称,选择“日志类型”为“文件”,点击“下一步”;

2、在“唯敏日志文件”页面中,设置“日志文件名”,“日志文件路径”,指迟枝“日志文件大小”,“日志文件最大数量”,“日志文件切割”,“日志文件切割时间”,点击“完成”;

3、在“日志设置”页面中,点击“应用”,完成weblogic的out日志切割设置。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12542095.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存