電腦日益不給力,網絡也隨時可能斷掉,用PL/SQL執行操做多多少少出現正在處理SQL語句結果程序死掉了。致使這張表被鎖掉,沒法執行SQL操做。sql
如何解除死鎖?數據庫
1)執行下面SQL,先查看哪些表被鎖住了:網絡
select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id;
2)查處引發死鎖的會話尋找SIDsession
select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = b.sid order by b.logon_time;
3)查出SID和SERIAL#:code
查V$SESSION視圖: SELECT SID,SERIAL#,PADDR FROM V$SESSION WHERE SID='剛纔查到的SID'; 這一步將獲得PADDR
4)查V$PROCESS視圖:進程
SELECT SPID FROM V$PROCESS WHERE ADDR='剛纔查到的PADDR'; 這一步獲得SPID
5)殺死進程io
在數據庫中,殺掉ORACLE進程: ALTER SYSTEM KILL SESSION '查出的SID,查出的SERIAL#';