您的位置:首页 > 数据库 > Oracle

解除Oracle死锁

2013-07-30 15:41 387 查看
查询锁
SELECT /*+
rule */ s.username,
decode(l.type, 'TM', 'TABLE
LOCK' ,
'TX' ,'ROW
LOCK' ,
[align=left]NULL ) LOCK_LEVEL,[/align]
[align=left]o.owner,o.object_name,o.object_type,[/align]
[align=left]s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser[/align]
FROM v$session s,v$lock
l,dba_objects o
[align=left]WHERE l.sid = s.sid [/align]
[align=left]AND l.id1 = o.object_id(+)[/align]
[align=left]AND s.username is NOT NULL[/align]
[align=left]and object_name like '%P2002%'[/align]
kill掉持有锁的会话

[align=left]alter system kill session           '74,1620'[/align]
在kill会话的时候可能会出现:session marked for kill;
处理方式如下:
查询相关进程

select spid, osuser,
s.program
from v$session s,v$process
p
[align=left]where s.paddr=p.addr and s.sid= 74[/align]
然后kill掉对应的进程
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息