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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值