关于对Oracle视图 V$LOCK的学习,看参考: http://www.oracleplus.net/arch/632.html
用system用户登录数据库 conn system/system的密码@IP地址:端口号/数据库实例,执行以下sql检查死锁情况:
检查是否存在死锁
select sess.sid,
sess.serial#,
lo.oracle_username,
lo.os_user_name,
ao.object_name,
lo.locked_mode
from v$locked_object lo, dba_objects ao, v$session sess
where ao.object_id = lo.object_id
and lo.session_id = sess.sid;
检查死锁的sql
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));
检查死锁用户的sql
select b.username, b.serial#, d.id1, a.sql_text
from v$lock d, v$session b, v$sqlt