oracle 经常会有死锁情况,在网上找了很多资料,终于发现了这个,适合懒人,分享给大家
先查出死锁
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 DOB.object_name
然后删除
alter system kill session '370, 39803'; --370, 39803 就是上面语句的删除号
另外plsql窗口也会造成死锁,会话-重新登录 即可。