oracle enq: tm,关于enq: TM - contention(请高手帮忙解释)

棉花说的是对的,level 3的TM lock是不会互相block的。

如:

session 1:

SQL> lock table hao in row exclusive mode;

Table(s) Locked.

session 2:

SQL> update hao set object_name='hao' where object_id=111;

1 row updated.

SQL> l

1* select * from v$lock where type='TM'

SQL> /

ADDR             KADDR                   SID TY        ID1        ID2      LMODE    REQUEST      CTIME      BLOCK

---------------- ---------------- ---------- -- ---------- ---------- ---------- ---------- ---------- ----------

00000003C0756A50 00000003C0756A78       1969 TM      33478          0          3          0         96          0

00000003C0756950 00000003C0756978       1968 TM      33478          0          3          0         99          0

只有当有session占用了level4,5,6的TM lock之后,后续的dml请求level 3的TM lock才会受阻。

例如:

session 1:

SQL> lock table hao in share mode;

Table(s) Locked.

session 2:

SQL> update hao set object_name='hao' where object_id=111;

--hung

session 3:

SQL> select * from v$lock where type='TM';

ADDR             KADDR                   SID TY        ID1        ID2      LMODE    REQUEST      CTIME      BLOCK

---------------- ---------------- ---------- -- ---------- ---------- ---------- ---------- ---------- ----------

00000003C0756A50 00000003C0756A78       1969 TM      33478          0          0          3         48          0

00000003C0756950 00000003C0756978       1968 TM      33478          0          4          0         54          1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值