Oracle FRA Doldu (ORA-19809 / ORA-00257): Archiver Donması Acil Müdahale
Fast Recovery Area dolduğunda donan veritabanını kurtarır. Archive log'ları RMAN ile güvenle temizler, FRA boyutunu artırır ve temel nedeni (yedek/Data Guard) çözer.
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
- Uygulama oturumları donuyor; yeni bağlantılar `ORA-00257: Archiver error. Connect AS SYSDBA only until resolved.`
- Alert log: `ORA-19809: limit exceeded for recovery files`, `ORA-19804: cannot reclaim bytes disk space from limit`.
- M39 (FRA gerçek doluluk) > %90.
2. Etki / Impact
Archiver yeni redo log'ları arşivleyemediği için log switch tamamlanamaz, **veritabanı yazmaya devam edemez ve fiilen donar.** Normal kullanıcılar bağlanamaz.
3. Teşhis / Diagnosis
SELECT name, ROUND(space_limit/1073741824,2) AS limit_gb, ROUND(space_used/1073741824,2) AS used_gb,
ROUND(space_reclaimable/1073741824,2) AS reclaimable_gb FROM v$recovery_file_dest;
SELECT file_type, percent_space_used, percent_space_reclaimable, number_of_files
FROM v$recovery_area_usage ORDER BY percent_space_used DESC;- `ARCHIVED LOG` baskın ve reclaimable düşük: log'lar yedeklenmemiş veya silinememiş (RMAN politikası, **Data Guard standby henüz almamış** olabilir).
- `BACKUP PIECE`: yedek saklama süresi çok uzun.
- `FLASHBACK LOG`: flashback retention çok yüksek veya yoğun yazma.
4. Müdahale / Response
ALTER SYSTEM SET db_recovery_file_dest_size = 200G SCOPE=BOTH;RMAN> BACKUP ARCHIVELOG ALL NOT BACKED UP 1 TIMES DELETE INPUT;
RMAN> CROSSCHECK ARCHIVELOG ALL;
RMAN> DELETE EXPIRED ARCHIVELOG ALL;
RMAN> DELETE OBSOLETE;RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY;5. **Kalıcı çözüm:**
- Archive log yedeğini sık alın (RPO'ya göre saatlik veya daha sık) ve `DELETE INPUT` kullanın.
- Saklama politikasını netleştirin: `CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;`
- M39'a %80 uyarı, %90 kritik alarm kurun; FRA'yı veri büyümesine göre boyutlandırın.
- Flashback database açıksa retention'ı gözden geçirin.
5. Doğrulama / Verification
- Alert log'da ORA-19809 yok; kullanıcılar bağlanabiliyor ve yazma normal.
- `real_used_pct` (M39) %80'in altına indi.
- `v$archive_dest` içinde hata yok, son RMAN yedeği başarılı.
6. Geri Alma / Rollback
- `db_recovery_file_dest_size` eski değerine çevrilebilir (mevcut kullanımın altına inmeyecek şekilde).
- Silinen archive log/yedekler geri alınamaz; yedek zincirinin sağlam olduğunu `RESTORE DATABASE VALIDATE;` ve `LIST BACKUP SUMMARY;` ile doğrulayın.