千家信息网

insert 产生阻塞

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,描述:insert产生阻塞。1,建立测试表。SQL> create table lock1 (id1 int primary key);Table created.2,打开2个会话顺序执行插入操作,不
千家信息网最后更新 2025年01月31日insert 产生阻塞描述:insert产生阻塞。

1,建立测试表。
SQL> create table lock1 (id1 int primary key);
Table created.
2,打开2个会话顺序执行插入操作,不提交.
会话15:
SQL> select sid from v$mystat where rownum<2;

SID
----------
15

SQL> insert into lock1 values (1);
1 row created.

会话151:

SQL> select sid from v$mystat where rownum<2;

SID
----------
151

SQL> insert into lock1 values (1); 《====会话151 插入数据库,产生阻塞事件。


3,查看等待

SQL> select sid,event,BLOCKING_SESSION from v$session where BLOCKING_SESSION is not null;


SID EVENT BLOCKING_SESSION
---------- ---------------------------------------------------------------- ----------------
151 enq: TX - row lock contention 15 《================151 被15 给阻塞了。产生enq: TX - row lock contention 等待事件。


SQL> select * from v$Lock where sid in (15,151,21) and type='TX' order by sid;


ADDR KADDR SID TY ID1 ID2 LMODE REQUEST CTIME BLOCK
-------- -------- ---------- -- ---------- ---------- ---------- ---------- ---------- ----------
55C69924 55C69964 15 TX 393230 952 6 0 165 1《===========waiting on a ROW
55C7B03C 55C7B07C 151 TX 524320 892 6 0 104 0
576F9504 576F9530 151 TX 393230 952 0 4 104 0《=============== waiting some other resource held。
by the TX


0 - none
1 - null (NULL)
2 - row-S (SS)
3 - row-X (SX)
4 - share (S)
5 - S/Row-X (SSX)
6 - exclusive (X)

=================









0