多个会话修改相同行时(enq: TX-row lock contention,mode=6)
修改相同行,是发生TX锁引起争用的最普遍的情况。
相同行update引起的TX锁争用:
SQL> select * from a1;
ID
----------
1
2
SQL> select * from v$mystat where rownum<2;
SID STATISTIC# VALUE
---------- ---------- ----------
1588 0 1
SQL> update a1 set id=999 where id=1;
1 row updated
SQL> select * from v$mystat where rownum<2;
SID STATISTIC# VALUE
---------- ---------- ----------
1586 0 1
SQL> update a1 set id=999 where id=1;
.......waiting......................
SQL> select * from v$lock where type in ('TM','TX');
ADDR KADDR SID TY ID1 ID2 LMODE REQUEST CTIME BLOCK
---------------- --------------