Oracle Sık Redo Log Switch: Ölçüm ve Redo Grup Boyutlandırma
Sık switch'leri thread bazında ölçer, archive/checkpoint baskısını ayırt eder ve yeni redo gruplarıyla kontrollü boyutlandırma planı çıkarır.
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
- M41, iş yüküne göre olağandışı yükseliyor; alert log'da `checkpoint not complete` veya `cannot allocate new log` uyarıları olabilir.
- Arşivleme ve yedekleme trafiği artar. Tek başına switch sayısı olay değildir.
2. Etki / Impact
Sık switch; checkpoint, arşiv I/O'su ve yazma gecikmesini artırabilir. Standby apply veya FRA kullanımı etkilenebilir.
3. Teşhis / Diagnosis
SELECT thread#, TRUNC(first_time,'HH24') AS hour_bucket, COUNT(*) AS switches
FROM v$log_history
WHERE first_time >= SYSDATE - 1
GROUP BY thread#, TRUNC(first_time,'HH24')
ORDER BY hour_bucket DESC, thread#;
SELECT thread#, group#, ROUND(bytes/1048576) AS size_mb, status, archived, members
FROM v$log ORDER BY thread#, group#;4. Müdahale / Response
-- Örnek, tek instance ve dosya sistemi; ASM/OMF/RAC'te uygun yolu ve thread'i seçin.
ALTER DATABASE ADD LOGFILE GROUP 4 ('/u02/oradata/DB/redo04.log') SIZE 2G;4. Kalıcı boyutlandırmayı yoğun saatte hedeflenen switch aralığına göre yapın; “her zaman saatte 4-6” gibi sabit hedef yerine throughput ve arşivleme gecikmesini esas alın. 12c/19c RAC'te her thread için yeterli grup ve uygun standby redo log sağlayın.
5. Doğrulama / Verification
- İş yükü eşdeğerken switch hızı ve checkpoint/archiver uyarıları azaldı; standby apply ve FRA sağlıklı.
- Yeni grup statüleri normal, kaybolan/bozuk log yok.
6. Geri Alma / Rollback
- Yeni grubun kaldırılması için önce `INACTIVE`/`ARCHIVED` ve yeterli alternatif grup koşullarını doğrulayın; yapılmış switch'ler geri alınmaz.
- Eski log gruplarını kaldırmadan önce planın geri dönüşünü sağlayacak şekilde değişikliği aşamalı yapın.