查詢發生阻塞的SQL:
select * from v$lock l2
where (l2.TYPE,l2.ID1,l2.ID2) in (
select type,id1,id2 from v$lock
where block = 1
);
從上述執行結果可以看出,發生了行鎖,會話143阻塞了會話138!
查詢鎖住的對象:
SELECT * FROM DBA_OBJECTS WHERE OBJECT_ID = (
select object_id from v$locked_object where session_id = 143
);
導致143會話,持有TAB_TEST表的行鎖沒有釋放鎖的SQL:
select l.session_id sid,
s.serial#,
l.locked_mode,
l.oracle_username,
s.user#,
l.os_user_name,
s.machine,
s.terminal,
a.sql_text,
a.action
from v$sqlarea a, v$session s, v$locked_objec