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

ORA-00257: Archiver error. Connect internal only, until freed

Oracle

의미

아카이버(ARCH) 프로세스가 redo log를 아카이브하지 못한다. 보통 아카이브 대상(FRA 또는 아카이브 로그 대상)이 가득 찬 경우이다. 데이터베이스는 새 트랜잭션을 중단시킨다.

원인

Flash Recovery Area(DB_RECOVERY_FILE_DEST) 또는 아카이브 로그 대상이 가득 참, 디스크 공간 부족, RMAN 백업이 아카이브 로그를 삭제하지 않음, 또는 DB_RECOVERY_FILE_DEST_SIZE 한도 도달.

해결 방법

공간을 확보한다: 오래된 아카이브 로그를 RMAN으로 FRA 밖의 대상에 백업한 뒤 삭제한다: RMAN> BACKUP ARCHIVELOG ALL FORMAT '/backup/arc_%U' DELETE INPUT(FRA가 가득 찬 상태에서 FRA로 백업하면 실패한다). Data Guard 환경에서는 아직 standby로 전송되거나 적용되지 않은 아카이브를 삭제하지 않는다. 그렇지 않으면 standby에 gap이 생긴다(CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY). FRA 사용량을 확인한다: SELECT * FROM v$recovery_file_dest / v$flash_recovery_area_usage. DB_RECOVERY_FILE_DEST_SIZE를 일시적으로 늘리거나 대상을 더 큰 디스크로 옮긴다. 디스크 수준의 여유 공간을 확인한다. 정기적인 아카이브 정리 정책을 수립한다.

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목