最具影响力的数字化技术在线社区

dbdream 发表于 2014-10-14 11:21:49

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的内容:





   MOS建议设置更大的值或者禁用这个功能,禁用这个功能后,系统恢复正常。   weblogic中间件也有类似的问题,weblogic通过select 1 from dual来验证会话的联通性,但是在做这个操作之后,会跟着rollback操作,这样user rollback就会很高。对性能影响也很大,因此建议关闭这个功能。


Oracle DBA交流

乔帮主 发表于 2014-10-14 11:42:05

真是有价值的经验总结,学习啦!
页: [1]
查看完整版本: tomcat验证连接的连通性导致数据库响应异常