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