当前位置: 首页 > Oracle, oracle 10g, oracle 11g > 正文

tomcat验证连接的连通性导致数据库响应异常

最近在跟一个优化项目,开发人员反映数据库卡死,登录数据库,发现当前3千多个SESSION,活动的1000多个,对这个轻量级应用来讲,非常不正常。数据库版本9.2.0.4,经查询,这些活动的SESSION基本都在运行同一条SQL。

SELECT NULL          AS table_cat,
       o.owner       AS table_schem,
       o.object_name AS table_name,
       o.object_type AS table_type,
       NULL          AS remarks
  FROM all_objects o
 WHERE o.owner LIKE :1 ESCAPE '/'
   AND o.object_name LIKE :2 ESCAPE '/'
   AND o.object_type IN ('xxx', 'TABLE')
 ORDER BY table_type, table_schem, table_name

这是什么SQL?竟然是从应用程序发出的,感觉很怪异,在网上没有找到有价值的文章,只好向朋友借个MOS帐号,在MOS上找到了原因,参考Liferay Sending Invalid Request To The Database (文档 ID 1492529.1)

客户使用tomcat访问数据库,原来这个SQL是应用程序检测会话连通性触发的SQL,默认触发时间60秒,卡发人员检查后发现,这个时间被设置成了10秒。下面是MOS的内容:

20141014104302

 

20141014104338

 

20141014104517

 

MOS建议设置更大的值或者禁用这个功能,禁用这个功能后,系统恢复正常。

weblogic中间件也有类似的问题,weblogic通过select 1 from dual来验证会话的联通性,但是在做这个操作之后,会跟着rollback操作,这样user rollback就会很高。对性能影响也很大,因此建议关闭这个功能。

本文固定链接: http://www.dbdream.com.cn/2014/10/tomcat%e9%aa%8c%e8%af%81%e8%bf%9e%e6%8e%a5%e7%9a%84%e8%bf%9e%e9%80%9a%e6%80%a7%e5%af%bc%e8%87%b4%e6%95%b0%e6%8d%ae%e5%ba%93%e5%93%8d%e5%ba%94%e5%bc%82%e5%b8%b8/ | 信春哥,系统稳,闭眼上线不回滚!

该日志由 dbdream 于2014年10月14日发表在 Oracle, oracle 10g, oracle 11g 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: tomcat验证连接的连通性导致数据库响应异常 | 信春哥,系统稳,闭眼上线不回滚!
关键字: , , ,

tomcat验证连接的连通性导致数据库响应异常:目前有2 条留言

  1. 沙发
    x:

    > 客户使用tomcat访问数据库,原来这个SQL是应用程序检测会话连通性触发的SQL———————————请问,为什么要这么做?

    2014-12-16 17:33 [回复]
    • streamsong:

      这样做是为了检测中断的连接,如果连接中断,系统会回收相应的资源,就不会将新连接分配到已中断的连接上。很多中间件都有这样的功能。

      2014-12-16 17:03 [回复]

发表评论

快捷键:Ctrl+Enter