ロックの勉強について
9287 ワード
システムで3つのセッションが実行され、2つの接続HRユーザーがlockをテストするために使用され、もう1つはsysがlockの状況を表示するために、以下のようにします.
上記の中でXIDUSN XIDSLOT XIDSQN REC-------------------------------2 3 1329 YESとは何ですか??(2回テストしても、2つのトランザクションは二度と発生しません)、同じテーブルのマルチユーザー操作で複数のトランザクションが発生するのはどのような場合ですか?
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
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 8397 0
200 TX 6 0 0 8 20 1572
sys@ORCL112> select xidusn,xidslot,xidsqn,recursive from v$transaction;
XIDUSN XIDSLOT XIDSQN REC
---------- ---------- ---------- ---
8 20 1572 NO
sys@ORCL112> select xidusn,xidslot,xidsqn,recursive from v$transaction;
XIDUSN XIDSLOT XIDSQN REC
---------- ---------- ---------- ---
8 20 1572 NO
2 3 1329 YES
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
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
132 AE 4 0 0 0 100 0
132 TX 0 6 0 8 20 1572
200 TM 3 0 0 1 8397 0
132 TM 3 0 0 1 8397 0
200 TX 6 0 1 8 20 1572
6 。
上記の中でXIDUSN XIDSLOT XIDSQN REC-------------------------------2 3 1329 YESとは何ですか??(2回テストしても、2つのトランザクションは二度と発生しません)、同じテーブルのマルチユーザー操作で複数のトランザクションが発生するのはどのような場合ですか?