スタンバイで転送/適用ラグ、適用速度、Data Guardプロセスを測定
OracleData Guardコマンド
-- Run on the standby:
SELECT name, value, unit, time_computed, datum_time
FROM v$dataguard_stats
WHERE name IN ('transport lag','apply lag','apply finish time','estimated startup time');
-- Redo apply rate (KB/s):
SELECT item, units, sofar, total, TO_CHAR(timestamp,'YYYY-MM-DD HH24:MI:SS') AS ts
FROM v$recovery_progress
WHERE item IN ('Active Apply Rate','Average Apply Rate','Maximum Apply Rate','Last Applied Redo')
ORDER BY start_time DESC, item;
-- Transport and apply processes (12.2+; replaces v$managed_standby):
SELECT name, role, action, thread#, sequence#, block#, delay_mins
FROM v$dataguard_process
ORDER BY role;概要
スタンバイがプライマリからどれだけ遅れているか(転送ラグ=未受信のREDO、適用ラグ=未適用のREDO)、バックログがいつ適用されるか、適用速度、どのプロセスがどのシーケンスを処理しているかを表示する。
使用する場面
RPO/RTO監視に。ラグアラート時に問題がネットワーク(転送)にあるか、スタンバイのI/O/CPU(適用)にあるかの判別に。
注意
読み取り専用。datum_timeが古い(time_computedより大きく遅れている)場合、スタンバイはプライマリからデータを受信しておらず、ラグの値は信頼できない。DelayMinsが設定されているか確認する。意図的な遅延は適用ラグとして見える。