|
查询当前数据库锁的sql:- select b.owner,
- b.object_name,
- a.session_id,
- a.locked_mode,
- c.SERIAL#,
- c.LOGON_TIME
- from v$locked_object a, dba_objects b, V$SESSION c
- where b.object_id = a.object_id
- and a.SESSION_ID = c.SID;
复制代码 查询造成锁的SQL为:- select sql_text
- from v$session, v$sqltext_with_newlines
- where decode(v$session.sql_hash_value, 0, prev_hash_value, sql_hash_value) =
- v$sqltext_with_newlines.hash_value
- and v$session.sid = #SESSION_ID#
- order by piece;
复制代码 其中 #SESSION_ID# 为锁的会话ID
如果确定为死锁,可以使用下面语句杀死死锁
---杀掉死锁
alter system kill session 'SID,SERIAL#';
注意:使用以上语句干掉死锁,必须保证自己拥有相应的权限,不然会报 ora-01031 异常.
|
|