首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

oracle 批量干掉锁

2013-07-16 
oracle 批量杀死锁declarecursor mycur isselect s.sid, s.serial#from v$session s, v$lock l, dba_objec

oracle 批量杀死锁
declare
  cursor mycur is
    select s.sid, s.serial#
      from v$session s, v$lock l, dba_objects o
     where l.sid = s.sid
       and l.id1 = o.object_id(+)
       and o.object_name = 'SCENCE_SUBJECT_SPOT_NUMBER';

  newcount number;

begin

  for cur in mycur loop
 
    select count(1)
      into newcount
      from v$locked_object a, v$session b
     where a.session_id = b.sid
       and b.sid = cur.sid
       and b.serial# = cur.serial#;
 
    if newcount >= 1 then
   
      execute immediate ('alter system  kill session  ''' || cur.sid || ',' ||
                        cur.serial# || ''' ');
    end if;
 
  end loop;

end;

热点排行