oracle锁表--查询处理

--查出oracle当前的被锁对象

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

--杀掉进程 sid,serial#

alter system kill session '223,10747';

--批量杀死进程

declare cursor mycur is 

select b.sid,b.serial# 

  from v$locked_object a,v$session b 

  where a.session_id = b.sid group by b.sid,b.serial#; 


begin 

  for cur in mycur 

    loop   

    execute immediate ( 'alter system  kill session  '''||cur.sid || ','|| cur.SERIAL# ||''' '); 

    end loop; 

end;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容