ORACLE鎖表解決

查詢發生阻塞的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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章