本文實例講述了Oracle刪除死鎖進程的方法。分享給大家供大家參考。具體如下:
步驟1:用以下SQL查看進程列表,判斷出被鎖定的表
復制代碼 代碼如下:SELECT dob.OBJECT_NAME Table_Name,lo.SESSION_ID||', '||vss.SERIAL# 刪除號,
lo.locked_mode,lo.SESSION_ID, vss.SERIAL#,vss.action Action,vss.osuser OSUSER, vss.LOGON_TIME,
vss.process AP_PID, VPS.SPID DB_PID ,vss.*
From v$locked_object lo, dba_objects dob, v$session vss, V$PROCESS VPS
Where lo.OBJECT_ID = dob.OBJECT_ID
and lo.SESSION_ID = vss.SID
AND VSS.paddr = VPS.addr
order by 2,3,DOB.object_name
查找被鎖表
步驟2 刪除進程,如之前的“刪除號”查找出的結果為“286, 2184”,則運行以下SQL
復制代碼 代碼如下:ALTER system kill session '286, 2184'
刪除後不會馬上生效一般,要過一會。
希望本文所述對大家的Oracle程序設計有所幫助。