SESSION 1(SID=3254):
apolloCRMG>create table wxh_tbd(id number);
Table created.
apolloCRMG>create unique index wxh_ind on wxh_tbd(id);
Index created.
apolloCRMG>insert into wxh_tbd values(1);
1 row created.
SESSION 2(SID=1001):
apolloCRMG>insert into wxh_tbd values(1);
被hang住了。
观察等待:
apolloCRMG>select sid,type ,id1,id2 ,lmode,request from v$lock where sid=1001 or block=1;
SID TYPE ID1 ID2 LMODE REQUEST
---------- ---- ---------- ---------- ---------- ----------
1001 TX 196620 681711 0 4
1001 TM 139590 0 3 0
1001 TX 393244 717891 6 0
3254 TX 196620 681711 6 0
session 2获得X模式的自身的事务锁后,还需要获得session 1的S模式的事务锁(根据ID1,ID2就可以确定获取的是同一个资源),这个时候产生等待。如果session 1回滚,SESSION 2可顺利获得,并且等待里的ID1,ID2也都为自己的事务信息了。
apolloCRMG>rollback;
Rollback complete.
apolloCRMG>select sid,type ,id1,id2 ,lmode,request from v$lock where sid=1001 or block=1;
SID TYPE ID1 ID2 LMODE REQUEST
---------- ---- ---------- ---------- ---------- ----------
1001 AE 99 0 4 0
1001 TM 139590 0 3 0
1001 TX 393244 717891 6 0
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22034023/viewspace-687943/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22034023/viewspace-687943/