记一次Weblogic连接池泄露的修复过程

简介: 记一次Weblogic连接池泄露的修复过程

问题描述


从weblogic控制台上,可以看到连接泄露已经达到了6K+,应用已经变得非常不稳定。


根据以往的经验,连接池出现泄漏情况一般为代码申请了一个数据库连接,使用后未正常关闭,导致连接一致被占用,应用运行长时间后,累积的泄漏连接越来越多,导致应用在申请数据库连接时出现无可用连接的情况,从而出现应用报异常的情况。


排查过程


PLSQL工具 -会话


20160413163542125.png可以看到 存在的sql,然后对应到了具体的代码中,发现问题。

出现这种情况后,我们可以从数据库查询一下当前sessions和processes配置情况,都在1600以上;

select count (*) from v$session;

20160415092315459.png

select count(*) from v$process;

20160415092336959.png


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

select count(*),SCHEMANAME,machine from v$session group by SCHEMANAME,machine;(注:截图中的数据不是出现问题时的情况反映)


20160415092656752.png


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

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


20160415092450423.png

查询相关的SQL内容:

select * from v$sql s where s.ADDRESS='C0000013B573D278' and s.HASH_VALUE='32127143';


查询得到语句:

insert into onu_oper_record ( id,order_id , wo_id,oper_type,accnbr,create_time,staff_id


检查发现 java 类中存在两次获得连接未正常关闭的情况


思考


之前排查代码的时候,仅仅考虑了看是否有未关闭的连接,却没有注意到 获取的时候 并没有将获取的连接 赋值给 connecition,导致虽然最后关闭了连接,其实传入的是null。

20160413164055975.png


相关文章
|
应用服务中间件 数据库 数据库连接
|
应用服务中间件 数据安全/隐私保护 SQL
|
Java 应用服务中间件 关系型数据库
|
4月前
|
Java 应用服务中间件 Linux
centos7安装weblogic
centos7安装weblogic
112 1
|
负载均衡 Java 应用服务中间件
Weblogic的了解、安装及其使用(三)
Weblogic的了解、安装及其使用
1463 0
|
Oracle Java 关系型数据库
Weblogic的了解、安装及其使用(二)
Weblogic的了解、安装及其使用
1062 0
|
开发框架 Kubernetes 监控
Weblogic的了解、安装及其使用(一)
Weblogic的了解、安装及其使用
2719 0
|
安全 Oracle Java
Oracle Weblogic--CentOS Linux 8.5.2安装weblogic11G
Weblogic在centos上详细安装步骤及安装过程中可能遇到的问题
347 0
Oracle Weblogic--CentOS Linux 8.5.2安装weblogic11G
|
Oracle 关系型数据库 Java
EOS Platform 7.2下安装weblogic插件
在实际工作中,需要用到EOS Platform,这是一个基于Eclipse的开发工具,自带了Tomcat,可以满足大部分需要,但是有时候需要使用Weblogic,这就得手动安装Weblogic插件了。这个过程与Eclipse相同(Eclipse下安装weblogic插件),本文中在EOS Platform 7.2中安装Weblogic插件。
199 0
EOS Platform 7.2下安装weblogic插件
|
Oracle 关系型数据库 Java
Eclipse下安装weblogic插件
安装好weblogic dev版本(Windows下安装weblogic dev版本),可以在Eclipse中安装weblogic server tools插件,直接连接到weblogic server,发布、部署、调试都变得简单些。
705 0
Eclipse下安装weblogic插件