0
点赞
收藏
分享

微信扫一扫

Oracle常用SQL-处理异常锁表


锁表查询的代码有以下的形式:

select count(*) from v$locked_object;

select * from v$locked_object;

查看哪个表被锁

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

查看是哪个session引起的

select b.username,b.sid,b.serial#,logon_time,a.OS_USER_NAME,c.owner,c.object_name  
from v$locked_object a,v$session b,dba_objects c 
where a.session_id = b.sid AND c.object_id = a.object_id order by b.logon_time;

杀掉对应进程,其中710为sid,19573为serial#.

alter system kill session'710,19573';

alter system kill session'527,64771';

alter system kill session'356,47373';


举报

相关推荐

0 条评论