oralce解锁表

在我们工作中可能会遇到表被锁住的情况,一般用于for update的时候忘记提交事务导致

这个时候要想修改或者删除数据必须要解除被锁的的表才可以。 

解决方法就是通过结束掉锁表的用户。


首先查看被锁的表和session_id

执行这条sql

select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id ;


                                                可以看到我们SIBOWENR表被锁住了



        接下来--查看被锁表的sid对应的SERID

    SELECT sid, serial#, username, osuser FROM v$session;

拿到SID‘181’的SERAL后我们直接结束掉这个进程就可以了


--结束进程 sid,SERID

alter system kill session'181,2051';



这样就把这个被锁的用户进程终止掉了,表也被解锁了。

你可能感兴趣的:(oralce解锁表)