oracle数据库 表被另一个用户锁住解决方法

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_34332207/article/details/77643466

之前有遇到过这个问题,解决后没有记录下来,导致今天又忘记怎么解决了,又白白浪费了时间,今天就把解决方法记录下来,为了自己也给遇到这个问题的朋友一个参考:


当在操作某张表的时候,如果你当你要对那张表进行修改删除操作的时候,工具会提示:“”当前记录已被另一个用户锁定",这时候就是因为那张表已经被锁,想操作的话只能把这张表的锁解调就可以了,

首先,执行sql查询出当前所有被锁的表:

查询sql如下:

               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;


查询出来后,找到你要操作的表,找到其对应的sid和serial#的值,执行解锁sql

sql如下:

              ALTER system kill session 'sid, serial#';



即可将锁住的表进行解锁操作!


注:当前用户权限不足,执行第一个sql查询会提示表不存在,可以使用sys登陆后给用户赋权后则可:grant select  any dictionary to XXXX;

展开阅读全文

没有更多推荐了,返回首页