Oracle FRA Full (ORA-19809 / ORA-00257): Archiver Stuck Emergency Response
Rescues a database that freezes when the Fast Recovery Area fills. Safely purges archive logs with RMAN, enlarges the FRA and fixes the root cause (backup/Data Guard).
Operational Safety & Risk Notice
This runbook contains operational intervention steps; several are write-impacting (KILL, terminate, DROP, RESIZE). Verify in a staging environment first, and apply sequentially in production with verification.
1. Symptom & Signals
- 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. Business & Technical 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. Diagnosis & Root-Cause Analysis
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. Remediation & Action Plan
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. Verification & Health Checks
- 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. Rollback & Contingency Plan
- `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.