Oracle 查看锁表进程

 

 查看锁表进程

select s.terminal        电脑名,
       l.os_user_name    电脑登陆用户,
       l.oracle_username 数据库用户,
       d.object_name     表名,
       l.locked_mode     锁等级,
       S.program         锁表程序,
       s.sid,
       s.serial#,
       s.PREV_EXEC_START,
       'alter system kill session '''||s.sid||','||s.serial#||''';' 取消锁表语句
  from v$locked_object l, dba_objects d, v$session s
 where l.object_id = d.object_id
   and l.session_id = s.sid
 order by s.PREV_EXEC_START;

--查看锁表进程SQL语句1:

select sess.sid,
       sess.serial#,
       lo.oracle_username,
       lo.os_user_name,
       ao.object_name,
       lo.locked_mode,
       'alter system kill session '''||sess.sid||','||sess.serial#||''';'--取消锁表
  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语句2:

select *
  from v$session t1, v$locked_object t2
 where t1.sid = t2.SESSION_ID;

--如有记录则表示有lock,记录下SID和serial# ,将记录的ID替换下面语句中的738,1429,选中下面语句执行即可解除LOCK 【--:表示注释,执行时不要选中】

alter system kill session '738,1429';

已有 0 条评论

    欢迎您,新朋友,感谢参与互动!