Oracle Data Guard Apply/Transport Gecikmesi: Güvenli Teşhis
Transport ve apply lag'i ayırır, archive gap, ağ veya standby I/O sorununu bulur; broker yönetimini bozmadan toparlanmayı doğrular.
Operasyonel Güvenlik ve Risk Uyarısı
Bu runbook müdahale adımları içerir; birçok adım yazma etkilidir (KILL, terminate, DROP, RESIZE). Önce test ortamında deneyin, üretimde adımları sırayla ve doğrulayarak uygulayın.
1. Belirti / Symptom
- Standby M42 apply lag yükseliyor, broker `WARNING`/`ERROR` bildirebilir; felaket kurtarma RPO'su riske girer.
- Transport lag ve apply lag birbirinden farklı davranabilir; sıfır olmayan her değer hata değildir.
2. Etki / Impact
Standby verisi geride kalır; failover'da veri kaybı veya RTO uzaması mümkündür. Okuma standby'larında veri eskir.
3. Teşhis / Diagnosis
SELECT name, value, unit, time_computed, datum_time
FROM v$dataguard_stats
WHERE name IN ('transport lag','apply lag','apply finish time');
SELECT thread#, low_sequence#, high_sequence# FROM v$archive_gap;
SELECT dest_id, status, error FROM v$archive_dest
WHERE status <> 'INACTIVE';`datum_time` eskiyse “lag=0” bile veri akışının durduğunu gizleyebilir.
dgmgrl /
DGMGRL> SHOW CONFIGURATION;
DGMGRL> SHOW DATABASE VERBOSE 'standby_db_unique_name';4. Müdahale / Response
DGMGRL> EDIT DATABASE 'standby_db_unique_name' SET STATE='APPLY-OFF';
DGMGRL> EDIT DATABASE 'standby_db_unique_name' SET STATE='APPLY-ON';**Yalnızca apply gerçekten durmuşsa ve planlı müdahale onaylandıysa** yapın; çalışan apply'ı sırf lag var diye kesmeyin.
4. 12c/19c Real-Time Apply, broker ve lisans/opsiyon koşulları ortamdan ortama farklıdır; konfigürasyonu doğrulamadan `USING CURRENT LOGFILE` gibi sürüme özel sözdizimine güvenmeyin.
5. Doğrulama / Verification
- `datum_time` güncel; transport ve apply lag azalıp RPO sınırına döndü; `v$archive_gap` boş ve broker sağlıklı.
- Aynı primary transaction'ının standby'da uygulandığını kontrollü uygulama testiyle doğrulayın.
6. Geri Alma / Rollback
- Broker ile apply kapatıldıysa `APPLY-ON` ile açın; kapalı kaldığı sürede biriken gecikmeyi izleyin.
- Yeniden oluşturulan standby'ın geri alınması basit değildir; başlamadan önce yedek ve failover planını doğrulayın.