DBAtlas · 데이터베이스 운영 아틀라스

가득 찬 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';

하는 일

Fast Recovery Area나 아카이브 대상이 가득 차면 데이터베이스가 멈춘다(ORA-00257). 공간을 늘리거나 아카이브를 정리해 해결한다.

사용 시점

ORA-00257 archiver 오류, DB가 새 트랜잭션을 받지 않을 때.

주의

백업되지 않은 아카이브를 삭제하면 복구 가능성이 사라진다. 먼저 RMAN 백업을 수행한 뒤 삭제한다. OS에서 rm으로 삭제하지 않는다. 그렇게 하면 RMAN CROSSCHECK가 필요하다. FRA가 가득 찬 동안에는 FRA 밖의 대상으로 아카이브를 백업한다(FORMAT '/backup/arc_%U'). Data Guard 환경에서는 standby로 아직 전송/적용되지 않은 아카이브를 삭제하지 않는다. 그렇지 않으면 standby에 gap이 생긴다. CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY를 사용한다.

DBAtlas에서 열기 →

관련 항목