1、ORACLE中查看当前系统中锁表情况
select * from v\(locked_object</p> <p>2、可以通过查询v\)locked_object拿到sid和objectid,然后用sid和v\(链表查询是哪里锁的表,用v\)session中的objectid字段和dba_objects的id字段关联,查询详细的锁表情况。
查询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, v\(process p</p> <p>where ao.object_id = lo.object_id</p> <p>and lo.session_id = sess.sid;</p> <p>3、查询是什么SQL引起了锁表的原因,SQL如下:</p> <p>select l.session_id sid,</p> <p>s.serial#,</p> <p>l.locked_mode,</p> <p>l.oracle_username,</p> <p>s.user#,</p> <p>l.os_user_name,</p> <p>s.machine,</p> <p>s.terminal,</p> <p>a.sql_text,</p> <p>a.action</p> <p>from v\)sqlarea a, v\(session s, v\)locked_object l
where l.session_id = s.sid
and s.prev_sql_addr = a.address
order by sid, s.serial#;
4、ORACLE解锁的方法
alter system kill session ’146′; –146为锁住的进程号,即spid

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/149321.html