DBAtlas · データベース運用アトラス

ORA-19804: cannot reclaim N bytes disk space from M bytes limit(M バイトの上限から N バイトのディスク領域を再利用できない)

Oracle

意味

Oracle が新しいファイル (アーカイブログ、バックアップ、フラッシュバックログ) のために高速リカバリ領域 (FRA) に空きを作ろうとしたが、DB_RECOVERY_FILE_DEST_SIZE で定義された論理上限に達しているため、必要な領域を再利用できなかった。

原因

FRA のサイズ (DB_RECOVERY_FILE_DEST_SIZE) は物理ディスクとは独立した上限であり、アーカイブログ、RMAN バックアップ、フラッシュバックログがそれを埋め尽くした。根本原因は通常、アーカイブログが定期的にバックアップ・削除されていない、または不要になったバックアップが削除されていないことである。

対処方法

FRA の使用状況を確認する: SELECT * FROM v$recovery_area_usage; および SELECT * FROM v$recovery_file_dest; アーカイブログを FRA 外の出力先にバックアップして削除する (RMAN: BACKUP ARCHIVELOG ALL FORMAT '/backup/arc_%U' DELETE INPUT;)、または不要になったバックアップを削除する (RMAN: DELETE OBSOLETE;)。Data Guard 環境では、スタンバイでまだ適用されていないアーカイブログを削除しない。恒久対策として、ディスク容量があれば DB_RECOVERY_FILE_DEST_SIZE を増やす。Flashback Database が不要であれば、無効化を検討する。

DBAtlas で開く →

同じデータベースの他の項目