select object_name,
machine,
s.sid,
p.spid,
s.osuser,
s.program,
s.STATUS,
s.ACTION,
p.SERIAL#,
l.SESSION_ID
from v$locked_object l, dba_objects o, v$session s, v$process p
where l.object_id = o.object_id
and l.session_id = s.sid
and s.paddr = p.addr;
杀进程:
alter system kill session '893,215';
3)如果还不能解决,
select pro.spid from v$session ses,v$process pro where ses.sid=XX and ses.paddr=pro.addr;
其中sid用死锁的sid替换。
exit
ps -ef|grep spid
kill -9 spid
其中spid是这个进程的进程号,kill掉这个Oracle进程。
清除缓存,使用system用户处理
alter session set events 'immediate trace name flush_cache level 1';
--查找发生死锁的语句
select sql_text from v$sql where hash_value in (select sql_hash_value from v$session where sid in(select session_id from v$locked_object));