解除Oracle被锁的表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解除Oracle被锁的表相关的知识,希望对你有一定的参考价值。

1.开一个会话session1

SQL>select sid from v$mystat where rownum=1;

SID

158

SQL>create table t(x int primary key);

table created

SQL>insert into t values(1);

commit;

SQL>update t1 set    t=10 where  x=1;


2.再开一个会话

SQL>select sid from v$mystat where rowunm=1;

SID

157

SQL>update t1 se x=10 where x=1;

这个时候session2被session1锁住


3、执行以下语句查看是哪个进程和序列锁住了表

select sess.sid, 

    sess.serial#, 

    lo.oracle_username, 

    lo.os_user_name, 

    ao.object_name, 

    lo.locked_mode 

    from v$locked_object lo, 

    dba_objects ao, 

    v$session sess 

where ao.object_id = lo.object_id and lo.session_id = sess.sid

 

4、执行下面的语句,将改锁表的进程和序列杀掉了

alter system kill session '1020,38953' --(1020,就是执行第一步语句得到的sid字段值,38953就是serial#字段值)


参考博文:http://www.cnblogs.com/srsee/archive/2013/05/10/infi0510_2.html

以上是关于解除Oracle被锁的表的主要内容,如果未能解决你的问题,请参考以下文章

oracle查看被锁的表及解除锁

Oracle查询被锁的表及进程的方法

SqlServer 查看被锁的表和解除被锁的表

oracle查看被锁的表和解锁

170308oracle查看被锁的表和解锁

SqlServer 查看被锁的表和解除被锁的表