oracle死锁查询处理

来源:互联网 发布:职业蛙 知乎 编辑:程序博客网 时间:2024/05/21 10:38

1.打开第一个窗口,查询st表,for update加锁


SQL> conn scott/tiger

Connected.
SQL> select * from st for update;


NAME                 SUBJECT                   SCORE
-------------------- -------------------- ----------
zs                   chinese                      91
zs                   maths                        92
zs                   english                      93
ls                   chinese                      94
ls                   maths                        95
ls                   english                      96

6 rows selected.


2.打开第二个窗口,查询st表,or update加锁,由于已由第一个窗口锁住,此处结果一直没有返回


SQL> select * from st for update;


3.打开第三个窗口,进行处理,先查找锁住该表的sid

SQL> select sid from v$lock where block =1;

       SID
----------
       137

4.根据sid查找SERIAL#


SQL> select sid,serial# from v$session where sid = 137;


       SID    SERIAL#
---------- ----------
       137         32


5.kill掉这个session的链接

SQL> alter system kill session '137,32';


System altered.


最后,第一个窗口报session被kill掉,同时第二个窗口显示查询结果


0 0
原创粉丝点击