1. ORA-00257 에러란?
ORA-00257: archiver error. Connect internal only, until freed.
의미
- 아카이브 로그를 저장할 공간이 부족함
- 더 이상 redo 로그를 아카이빙할 수 없는 상태
- 일반 사용자 접속 및 DML 작업 제한 발생
즉, 디스크 공간 부족으로 DB가 멈추기 직전 상태입니다.
2. 발생 원인
1) 아카이브 로그 디렉토리 FULL
- 가장 흔한 원인
- archive log가 쌓여서 디스크 용량 초과
2) FRA(Fast Recovery Area) 공간 부족
SHOW PARAMETER db_recovery_file_dest_size;
- FRA 영역이 가득 차면 자동으로 아카이브 중단
3) 백업 미수행
- RMAN 백업 없이 로그만 계속 쌓임
4) 장시간 트랜잭션 또는 대량 작업
- redo 로그 급증 → archive 로그 폭증
3. 현재 상태 확인 방법
아카이브 로그 경로 확인
ARCHIVE LOG LIST;
FRA 사용량 확인
SELECT * FROM V$RECOVERY_FILE_DEST;
아카이브 로그 위치 확인
SHOW PARAMETER log_archive_dest;
4. 해결 방법
상황에 따라 아래 방법 중 하나 또는 여러 개를 적용합니다.
방법 1. 불필요한 아카이브 로그 삭제 (가장 빠른 해결)
RMAN 접속
rman target /
오래된 로그 삭제
DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-2';
2일 이전 로그 삭제
전체 삭제 (주의)
DELETE ARCHIVELOG ALL;
반드시 백업 여부 확인 후 실행
방법 2. OS에서 직접 삭제
cd /archive_log_path
rm -rf *.arc
주의
- DB 백업 없이 삭제 시 복구 불가
- 반드시 DBA 판단 후 진행
방법 3. FRA 용량 증가
ALTER SYSTEM SET db_recovery_file_dest_size = 20G;
기존보다 크게 확장
방법 4. 아카이브 경로 변경
ALTER SYSTEM SET log_archive_dest_1='LOCATION=/new_path';
여유 있는 디스크로 이동
방법 5. 아카이브 모드 OFF (임시 대응)
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE NOARCHIVELOG;
ALTER DATABASE OPEN;
주의
- 복구 불가능 상태가 되므로 운영 DB에서는 권장하지 않음
- 테스트 환경에서만 사용
5. 예방 방법 (중요)
1) RMAN 자동 백업 설정
- 일정 주기로 archive log 백업 및 삭제
2) 용량 모니터링
- FRA 사용률 지속 확인
- 임계치 알림 설정
3) 로그 삭제 정책 설정
CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 1 TIMES;
4) 디스크 여유 확보
- archive 영역은 항상 여유 공간 유지
6. 실무 TIP
- ORA-00257 발생 시 가장 먼저 할 일
- 디스크 사용량 확인 (df -h)
- archive 로그 위치 확인
- 불필요 로그 삭제
- 운영 환경에서는
RMAN 기준으로 삭제하는 것이 안전
7. 요약
- 원인: 아카이브 로그 저장 공간 부족
- 영향: DB 작업 중단 가능
- 해결:
- archive log 삭제
- FRA 용량 증가
- 경로 변경
- 예방:
- 정기 백업 + 자동 삭제 정책 필수
반응형
'DB > ORACLE' 카테고리의 다른 글
| ORACLE SUBSTR vs REGEXP_SUBSTR 차이점 (0) | 2026.03.25 |
|---|---|
| ORACLE 문자열 자르기 (0) | 2026.03.25 |
| ORACLE 테이블 복사하기 (0) | 2026.03.24 |
| ORACLE WITH 절(서브쿼리 팩토링) 사용법 (0) | 2026.03.24 |
| ORACLE 프로시저 특정 문자열 검색 조회 (0) | 2025.03.27 |