[转] 解决Oracle锁表

转载自: http://mengshuangcom.iteye.com/blog/1021348

找出锁表的信息:

select /*+ RULE */ ls.osuser os_user_name,   ls.username user_name,  

decode(ls.type, 'RW', 'Row wait enqueue lock', 'TM', 'DML enqueue lock', 'TX',

'Transaction enqueue lock', 'UL', 'User supplied lock') lock_type,  

o.object_name object,   decode(ls.lmode, 1, null, 2, 'Row Share', 3,

'Row Exclusive', 4, 'Share', 5, 'Share Row Exclusive', 6, 'Exclusive', null)

lock_mode,    o.owner,   ls.sid,   ls.serial# serial_num,   ls.id1,   ls.id2   

from sys.dba_objects o, (   select s.osuser,    s.username,    l.type,    

l.lmode,    s.sid,    s.serial#,    l.id1,    l.id2   from v$session s,    

v$lock l   where s.sid = l.sid ) ls 

where o.object_id = ls.id1 and    o.owner <> 'SYS'  

order by o.owner, o.object_name;

 

杀掉:

alter system kill session 'int1,int2';
其中init1为sid,init2为serial#。

 

posted on 2011-11-07 17:14  DavidYanXW  阅读(171)  评论(0)    收藏  举报