Latch: redo copy

目次

基本情報

 

PGA内のチェンジベクトルを、REDOバッファにコピーしようとするプロセスは、作業の全体のプロセスの間にredo copyラッチを保持する必要があります。redo copyラッチの数は_LOG_SIMULTANEOUS_COPIESという隠しパラメータの値によって決定されますが、デフォルトではCPUの数の2倍です。V$ LATCH_CHILDRENビューを介してredo copyラッチの活動性を把握することができます。

 

SQL> select name, gets, misses, immediate_gets, immediate_misses, 
   wait_time
from v$latch_children
where name = 'redo copy';

NAME             GETS     MISSES IMMEDIATE_GETS IMMEDIATE_MISSES  WAIT_TIME
---------- ---------- ---------- -------------- ---------------- --------
redo copy           8          0              0                  0          0
redo copy           8          0              0                  0          0
redo copy           8          0         156937             12          0
redo copy           8          0         397729             12          0
...

 

redo copyラッチは、基本的にNo-waitモードで獲得します。上記の結果からIMMEDIATE_GETS値が高いのは、このような理由からです。もしプロセスがredo copyラッチを獲得するのに失敗した場合、連続的に、次のredo copyラッチを獲得するために試みた後、最後のredo copyラッチを獲得する過程では、Willing-to-waitモードが使用されます。redo copy]ラッチを獲得する過程で競合が発生した場合latch:redo copyイベントを待機することになります。

 

パラメータと待機時間

 

待機パラメータ

 

latch freeイベントと同じです。

 

待機時間

 

latch freeイベントと同じです。

 

チェックポイント&ソリューション

 

latch:redo writingのRedo関連競合を参照してください。