当前位置 主页 > 服务器问题 > win服务器问题汇总 >

    Oracle删除死锁进程的方法

    栏目:win服务器问题汇总 时间:2019-10-11 08:21

    本文实例讲述了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程序设计有所帮助。