您的位置:首页 > 数据库 > Oracle

ORACLE 如何查询被锁定表及如何解锁释放session

2017-08-04 13:39 411 查看
今天在清理数据库脏数据的时候遇到电脑死机(机器配置确实比较low,每天都要死机一两次

),无奈重启,再次启动数据库执行delete操作的时候,我的OB12卡死,换到PL/SQL依然如此,这时候我就觉得很有可能不是电脑的原因,而是因为之前突发的死机造成已经执行的操作并没有commit,再次打开OB12执行对被锁表的查询,sql如下:

1、SELECT object_name, machine, s.sid, s.serial#

FROM gv$locked_object l, dba_objects o, gv$session s

WHERE l.object_id = o.object_id

AND l.session_id = s.sid

查询结果显示果然是先前操作的表被锁定,找到原因就好办了,执行释放session语句,sql如下:

2、ALTER system kill session 'sid, serial#’;

sid和serial两个参数正是执行第一步时查询出来的数据


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: