Oracle删除死锁进程的方法
程序员文章站
2023-01-23 09:14:07
本文实例讲述了oracle删除死锁进程的方法。分享给大家供大家参考。具体如下:
步骤1:用以下sql查看进程列表,判断出被锁定的表
复制代码 代码如下:select d...
本文实例讲述了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程序设计有所帮助。