前一段时间,查询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
order by s.sid,s.serial#;
会话长时间不提交,如果要对数据库那张表做ddl维护操作,那就比较困难了.会话长时间不提交,通常是因为事务设计的不合理造成的.
注:把上面的语句改一下,也可以查询update,与delete的sql语句
作者“ERDP技术架构”