马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
最近在跟一个优化项目,开发人员反映数据库卡死,登录数据库,发现当前3千多个SESSION,活动的1000多个,对这个轻量级应用来讲,非常不正常。数据库版本9.2.0.4,经查询,这些活动的SESSION基本都在运行同一条SQL。 [AppleScript] 纯文本查看 复制代码 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交流 |