oracle查询锁表的语句是什么

oracle中,可用select语句查询导致锁表的语句,该语句用于对表数据进行简单的查询,语法“select*from v$session t1,v$locked_object t2 where t1.sid=t2.SESSION_ID”。

oracle查询锁表的语句是什么

本教程操作环境:Windows10系统、Oracle 11g版、Dell G3电脑。

oracle查询锁表的语句是什么

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

–被锁对象表、数据库对象表、数据session表关联来获取被锁对象对应的是那个session;

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

–查看导致锁表的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#;

–杀掉锁表进程:

–通过上面的查询获取SID和serial#,替换下面的x,y,就可以解除被锁的状态

alter system kill session 'x,y';

推荐教程:《Oracle视频教程

以上就是

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享