ORACLE解锁

select object_name as 对象名称,s.sid,s.serial#,p.spid as 系统进程号
from v$locked_object l , dba_objects o , v$session s , v$process p
where l.object_id=o.object_id and l.session_id=s.sid and s.paddr=p.addr;

alter system kill session 'sid,serial#';


--kill all sessions
DECLARE
  CURSOR c1 IS
    select object_name as 对象名称,s.sid,s.serial#,p.spid as 系统进程号
      from v$locked_object l , dba_objects o , v$session s , v$process p
      where l.object_id=o.object_id and l.session_id=s.sid and s.paddr=p.addr;
    kill_it c1%ROWTYPE;
    
BEGIN
  OPEN c1;
  LOOP
    FETCH c1 INTO kill_it; 
    EXIT WHEN c1%NOTFOUND;
    BEGIN      
      EXECUTE IMMEDIATE 'alter system kill session '''||       
      kill_it.sid||', '||kill_it.serial#||'''';    
    END;
  END LOOP;  
  CLOSE c1;
END;

 

仅作备份用。

你可能感兴趣的:(oracle)