oracle锁机制的模拟试验

首先我们用pl sql模拟3个用户

conn system/beyondsanli
select sys_context('userenv','sessionid') from dual;

SYS_CONTEXT('USERENV','SESSIONID')

--------------------------------------------------------------------------------
1009


conn system/beyondsanli


select sys_context('userenv','sessionid') from dual;

SYS_CONTEXT('USERENV','SESSIONID')

--------------------------------------------------------------------------------
1010


select sid, serial#, audsid, paddr, username, lockwait, ROW_WAIT_OBJ#
from v$session
where audsid in (1009, 1010);


SID SERIAL# AUDSID PADDR USERNAME LOCKWAIT ROW_WAIT_OBJ#

---------- ---------- ---------- -------- ------------------------------ -------- -------------
1 132 852 1010 1EE5015C SYSTEM -1
2 147 1192 1009 1EE4FB6C SYSTEM -1

(查询得知,session1的sid=1009,session2的sid=1010)


session 1中

update czk_locktest set modulename='locktest here' where id=1


select sid, serial#, audsid, paddr, username, lockwait, ROW_WAIT_OBJ#
from v$session
where audsid in (1009, 1010);


SID SERIAL# AUDSID PADDR USERNAME LOCKWAIT ROW_WAIT_OBJ#

---------- ---------- ---------- -------- ------------------------------ -------- -------------
1 132 852 1010 1EE5015C SYSTEM -1
2 147 1192 1009 1EE4FB6C SYSTEM 52547


(查询得知,session1的sid=132,session2的sid=147) 这里row_wait_obj# 不是-1


select XIDUSN,XIDSLOT,XIDSQN,OBJECT_ID,SESSION_ID,PROCESS,LOCKED_MODE from v$locked_object;

1 7 8 362 52547 147 3012:1336 3

session2
update czk_locktest set modulename='locktest here 2' where id=2


select XIDUSN,XIDSLOT,XIDSQN,OBJECT_ID,SESSION_ID,PROCESS,LOCKED_MODE from v$locked_object;


1 10 9 357 52547 131 2268:1228 3
2 9 2 380 52547 141 3328:5164 3


select XIDUSN,XIDSLOT,XIDSQN,a.OBJECT_ID,ub.object_name,SESSION_ID,PROCESS,LOCKED_MODE from v$locked_object a left outer join user_objects ub on ub.object_id=a.OBJECT_ID;


1 7 8 362 52547 CZK_LOCKTEST 147 3012:1336 3
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值