关于lock的学习(二)

测试环境oracle11gR2
首先登录hr用户执行以下SQL

hr@ORCL112> update t set status='Y' where object_name like 'sys';

已更新0行。

再另开一个session,用sys登录
当hr用户刚登录时,执行以下sql结果如下:

 

sys@ORCL112> select a.sid,a.type,a.lmode,a.request,a.block,trunc(a.id1/power(2,16)) rbs,bitand(a.id1,to_number('ffff','xxxx'))+0 s
lot,a.id2 from v$lock a,v$session b where a.sid=b.sid and b.username='HR';

       SID TY      LMODE    REQUEST      BLOCK        RBS       SLOT        ID2
---------- -- ---------- ---------- ---------- ---------- ---------- ----------
       200 AE          4          0          0          0        100          0

当hr用户执行SQL时,执行以下sql结果如下:

sys@ORCL112> select a.sid,a.type,a.lmode,a.request,a.block,trunc(a.id1/power(2,16)) rbs,bitand(a.id1,to_number('ffff','xxxx'))+0 s
lot,a.id2 from v$lock a,v$session b where a.sid=b.sid and b.username='HR';

       SID TY      LMODE    REQUEST      BLOCK        RBS       SLOT        ID2
---------- -- ---------- ---------- ---------- ---------- ---------- ----------
       200 AE          4          0          0          0        100          0
       200 TM          3          0          0          1      11019          0

sys@ORCL112> select xidusn,xidslot,xidsqn,recursive from v$transaction;

未选定行

由此说明当更新一张表时,如果实际未更新到某条记录,则在v$lock只会产生TM锁,即表级锁

posted on 2012-05-07 14:28  蓝红石 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/liuweihua/archive/2012/05/07/2487360.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值