这两天玩Orcale数据库,出现了一些死锁的情况,原因是通过数据库连接器上用update 去更新数据,没有做提交,业务系统去操作,就处理数据死锁的状态,郁闷。其实也好,让我也了解了处理死锁的方法。
查看死锁:
select username,lockwait,status,machine,program from v$session where sid
in
(select session_id from v$locked_object)
查询死锁语句:
SELECT l.session_id sid, s.serial#, l.locked_mode,l.oracle_username,
l.os_user_name,s.machine, s.terminal, o.object_name, s.logon_time
FROM v$locked_object l, all_objects o, v$session s
WHERE l.object_id = o.object_id
AND l.session_id = s.sid
ORDER BY sid, s.serial#
删除死锁:
alter system kill session'412,16728'