加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

解除Oracle被锁的表

发布时间:2020-12-12 14:05:26 所属栏目:百科 来源:网络整理
导读:1.开一个会话session1 SQLselect sid from v$mystat where rownum=1; SID 158 SQLcreate table t(x int primary key); table created SQLinsert into t values(1); commit; SQLupdate t1 set t=10 where x=1; 2.再开一个会话 SQLselect sid from v$mystat wh

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读