oracle查询锁表解锁语句

转自:http://blog.csdn.net/zhldt2008/article/details/7953932


1. 如下语句 查询锁定的表:

  SELECT l.session_id sid, s.serial#, l.locked_mode,l.oracle_username,

  l.os_user_name,s.machine, s.terminal, o.object_name, s.logon_time

  FROM v$locked_object l, all_objects o, v$session s

  WHERE l.object_id = o.object_id

  AND l.session_id = s.sid

  ORDER BY sid, s.serial# ;

 

2.然后删除掉系统锁定的此记录

ALTER system KILL session 'SID,serial#'; 

如果有多个sid 和serial# 重复删除每条记录


3.循环释放锁表资源

DECLare str VARCHAR2(1000);
 BEGIN
   FOR c1 in (  
     SELECT l.session_id sid, s.serial#, l.locked_mode,l.oracle_username,

  l.os_user_name,s.machine, s.terminal, o.object_name, s.logon_time

  FROM v$locked_object l, all_objects o, v$session s

  WHERE l.object_id = o.object_id

  AND l.session_id = s.sid

 ) LOOP
     str:='ALTER system KILL session '''||c1.sid||','||c1.serial#||'''';
     EXECUTE IMMEDIATE str;
     commit;
   END LOOP;
 END;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值