检查锁定的表与停止进程
方案一:
1、SELECT /*+ rule*/
a.sid, b.owner, object_name, object_type
FROM v$lock a, all_objects b
WHERE TYPE = 'TM'
and a.id1 = b.object_id;
查询到的表就是被锁定的表。
2、select spid, osuser, s.program
from v$session s,v$process p
where s.paddr=p.addr and s.sid=XXX
查询出死锁进程在操作系统中的任务ID
XXX 即1、中查询到的a.sid。
alter system kill session 'a.sid,v$session';
删除进程
方案二:
SELECT
sid,
serial#
FROM
v$session
WHERE
sid in (SELECT
a.sid
FROM
v$lock a,
all_objects b
WHERE
TYPE = 'TM' AND
a.id1 = b.object_id
)
查询锁定的表号 sid,serial#;
alter system kill session 'sid,serial#';
根据查出的表号,停止进程任务