満杯の FRA / アーカイブ先を解消
OracleREDO とアーカイブコマンド
-- Check usage:
SELECT name, space_limit/1024/1024/1024 AS limit_gb,
space_used/1024/1024/1024 AS used_gb,
ROUND(space_used/space_limit*100,1) AS pct_used
FROM v$recovery_file_dest;
-- Fix A) Increase the FRA size:
ALTER SYSTEM SET db_recovery_file_dest_size=100G SCOPE=BOTH;
-- Fix B) Clean up already backed-up archives with RMAN:
-- RMAN> DELETE ARCHIVELOG ALL BACKED UP 1 TIMES TO DISK COMPLETED BEFORE 'SYSDATE-3';
-- If there is no backup (CAREFUL): RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-1';概要
高速リカバリ領域またはアーカイブ先が満杯になると、データベースがハングする(ORA-00257)。領域の拡大またはアーカイブの整理で解消する。
使用する場面
ORA-00257 アーカイバエラーが発生し、DB が新しいトランザクションを受け付けなくなった場合。
注意
バックアップされていないアーカイブを削除するとリカバリ可能性が失われる。先に RMAN バックアップを取得してから削除する。OS から rm で削除しないこと。その場合は RMAN の CROSSCHECK が必要になる。FRA が満杯の間は、FRA 外の宛先にアーカイブをバックアップする(FORMAT '/backup/arc_%U')。Data Guard では、まだスタンバイに転送/適用されていないアーカイブを削除しないこと。そうしないとスタンバイにギャップが生じる。CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY を使用する。