本文实例讲述了Oracle删除死锁进程的方法。分享给大家供大家参考。具体如下:
步骤1:用以下sql查看进程列表,判断出被锁定的表
代码如下:
删除号,
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
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
代码如下:
删除后不会马上生效一般,要过一会。
希望本文所述对大家的Oracle程序设计有所帮助。