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

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


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

首先,执行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;

猜你喜欢

转载自blog.csdn.net/qq_34332207/article/details/77643466
今日推荐