描述: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_SESS
ioN 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《===========w
aiting 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