Oracle删除死锁进程的方法
更新时间:2015年01月29日 10:47:17 作者:静水流深
这篇文章主要介绍了Oracle删除死锁进程的方法,涉及查找被锁表及删除对应进程的技巧,需要的朋友可以参考下
本文实例讲述了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
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程序设计有所帮助。
相关文章
oracle11gR2使用exp导出命令时报EXP-00011错误的解决方法
这篇文章主要介绍了oracle11gR2使用exp导出命令时报EXP-00011错误的解决方法,大家参考使用吧2014-01-01Oracle 遍历游标的四种方式汇总(for、fetch、while、BULK COLLECT)
这篇文章主要介绍了Oracle 遍历游标的四种方式汇总(for、fetch、while、BULK COLLECT),帮助大家更好的理解和使用Oracle数据库,感兴趣的朋友可以了解下2020-10-10
最新评论