首页 > 数据库技术 > 详细

Oracle查询被锁的表以及解锁表

时间:2020-01-18 18:02:37      阅读:138      评论:0      收藏:0      [点我收藏+]

1.查询引起了锁表的原因

select l.session_id sid,
       s.serial#,
       l.locked_mode,
       l.oracle_username,
       s.user#,
       l.os_user_name,
       s.machine,
       s.terminal,
       a.sql_text,
       a.action
  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#;

2.查询被锁的表

select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id

3.查看是哪个session引起的

select b.username,b.sid,b.serial#,logon_time from  v$locked_object a,v$session b where a.session_id = b.sid order by b.logon_time

4.杀掉对应进程即解锁

--其中99是sid 178是serial#
alter system kill session 99,178

 

Oracle查询被锁的表以及解锁表

原文:https://www.cnblogs.com/xiaoheihei/p/12209511.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!