針對ORACLE數據庫
--發現死鎖的進程
select object_name as 對象名稱,s.sid,s.serial#,p.spid as 系統進程號
from v$locked_object l , dba_objects o , v$session s , v$process p
where l.object_id=o.object_id and l.session_id=s.sid and s.paddr=p.addr;
--殺死死鎖的進程序
alter system kill session '89,60085';(89,60085分別是‘sid,s.serial#,’)
--找出引起死鎖的話句
select t2.username,t2.sid,t2.serial#,t2.logon_time,t3.sql_text
from v$locked_object t1,v$session t2,v$sqltext t3
where t1.session_id=t2.sid
and t2.sql_address=t3.address
order by t2.logon_time;