捕获长时间不提交的SQL语句

2014-11-24 10:13:47 · 作者: · 浏览: 0

前一段时间,查询V$LOCK视图时,发现有些会话保持锁的时间过长,就写了这条SQL语句来查找是哪些SQL语句长时间不提交

select s.sid,s.serial# ,ss.sql_text from v$session s ,v$sql ss
where s.PREV_HASH_VALUE !=0
and s.SQL_HASH_VALUE=0
and s.PREV_HASH_VALUE=ss.hash_value

and (ss.sql_text like '%insert%')
order by s.sid,s.serial#;

会话长时间不提交,如果要对数据库那张表做ddl维护操作,那就比较困难了.会话长时间不提交,通常是因为事务设计的不合理造成的.

注:把上面的语句改一下,也可以查询update,与delete的sql语句

作者“ERDP技术架构”