使用oracle时,发现有表被锁,又不知道是谁(或者哪个程序)锁的,怎么办 ?
两步走:
1、查找出被锁对象的会话id和序列号
执行如下sql:
-- 查询出被锁对象,并提供 kill 脚本 select s.sid, s.machine, o.object_name, l.oracle_username, l.locked_mode, s.osusesr, 'alter system kill session '''|| s.sid || ', '|| s.serial#||''';' as kill_command from v$locked_object l, v$session s, all_objects o where l.session_id=s.sid and l.object_id=o.object_id
2、kill
复制出第1步查询结果中的 kill_command 字段值,执行。
需要了解更多数据库技术:ORACLE 查询被锁住的对象,并结束其会话的方法,都可以关注数据库技术分享栏目—计算机技术网(www.ctvol.com)!
-- kill 的基本语法 alter system kill session '$sid, $serial#';
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/dtteaching/803740.html