ロックの勉強について

9287 ワード

システムで3つのセッションが実行され、2つの接続HRユーザーがlockをテストするために使用され、もう1つはsysがlockの状況を表示するために、以下のようにします.
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つのトランザクションは二度と発生しません)、同じテーブルのマルチユーザー操作で複数のトランザクションが発生するのはどのような場合ですか?