我的位置:首页 > 数据库>Oracle

oracle数据库锁表,什么SQL引起了锁表?ORACLE解锁的方法

时间:2019-11-08 14:10:00 来源:互联网 作者: 神秘的大神 字体:

--查询数据库锁表记录

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
where ao.object_id = lo.object_id
   and lo.session_id = sess.sid   
 --  and object_name = '表名称'
 ;

 --什么SQL引起了锁表

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#;

--ORACLE解锁的方法

alter system kill session 'SID,serial#';