2026년 05월 21일 | Oracle DBA 가이드
📌 이 글에서 다루는 내용
ORA-00257 에러의 원인 분석, 해결 SQL, 예방 방법을 실무 관점에서 정리합니다.
# ORA-00257 완전 정복: 아카이브 로그 공간 부족 문제 해결 가이드
ORA-00257란?
ORA-00257은 Oracle 데이터베이스의 아카이브 로그(Archive Log) 저장 공간이 가득 찼을 때 발생하는 에러입니다. 이 에러가 발생하면 Oracle Archiver 프로세스(ARCn)가 온라인 리두 로그(Online Redo Log)를 아카이브 목적지에 기록하지 못하게 되고, 결과적으로 일반 사용자 접속이 차단되고 INTERNAL 접속(SYS 등)만 허용됩니다. 운영 중인 시스템에서 갑자기 이 에러가 터지면 서비스 전체가 멈출 수 있으므로, DBA라면 반드시 즉각 대응할 수 있어야 합니다.
주요 발생 원인
1. 아카이브 로그 저장 디스크 공간 부족
가장 흔한 원인으로, LOG_ARCHIVE_DEST_n 파라미터로 지정된 디렉토리의 디스크 가용 공간이 소진된 경우입니다. 대용량 배치 작업이나 갑작스러운 트랜잭션 폭증으로 인해 아카이브 로그가 단시간에 대량 생성될 때 빈번하게 발생합니다.
2. Fast Recovery Area(FRA) 용량 초과
Oracle 10g 이후 도입된 Flash Recovery Area(db_recovery_file_dest)의 할당 용량(db_recovery_file_dest_size)을 초과했을 경우 발생합니다. FRA에는 아카이브 로그 외에도 백업 파일, 플래시백 로그 등이 함께 저장되기 때문에, 백업 파일이 제때 삭제되지 않으면 공간이 빠르게 소진됩니다.
3. RMAN 백업 후 아카이브 로그 미삭제
RMAN으로 백업을 수행했지만 백업된 아카이브 로그를 삭제하지 않아 공간이 계속 쌓이는 경우입니다. 자동 삭제 정책(Retention Policy)이 설정되지 않았거나, DELETE INPUT 옵션 없이 백업만 수행했을 때 이런 문제가 발생합니다.
4. 아카이브 목적지 설정 오류 또는 접근 불가
LOG_ARCHIVE_DEST_n으로 지정한 경로가 존재하지 않거나, OS 권한 문제, 네트워크 마운트 해제 등으로 인해 ARCn 프로세스가 해당 경로에 파일을 쓸 수 없는 상황입니다. 이 경우 물리적 공간은 충분해도 동일한 에러가 발생할 수 있습니다.
5. 아카이브 로그 모드에서 과도한 트랜잭션 발생
야간 배치, 대규모 데이터 마이그레이션, DML 폭증 등으로 짧은 시간 안에 수백 개의 아카이브 로그가 생성될 수 있습니다. ARCn 프로세스가 로그를 아카이브하는 속도보다 생성 속도가 빠를 경우, 결국 공간 부족으로 이어집니다.
해결 방법
Step 1. 현재 상태 확인
먼저 어디서 문제가 생겼는지 정확히 파악해야 합니다.
-- 1. FRA 사용 현황 확인
SELECT
SPACE_LIMIT / (1024*1024*1024) AS "FRA 전체(GB)",
SPACE_USED / (1024*1024*1024) AS "사용중(GB)",
SPACE_RECLAIMABLE / (1024*1024*1024) AS "회수가능(GB)",
ROUND(SPACE_USED / SPACE_LIMIT * 100, 2) AS "사용률(%)"
FROM V$RECOVERY_FILE_DEST;
-- 2. FRA 내 파일 유형별 점유 현황
SELECT
FILE_TYPE,
ROUND(SPACE_USED / (1024*1024*1024), 2) AS "사용(GB)",
ROUND(SPACE_RECLAIMABLE / (1024*1024*1024), 2) AS "회수가능(GB)",
NUMBER_OF_FILES
FROM V$RECOVERY_AREA_USAGE;
-- 3. 아카이브 로그 목적지 상태 확인
SELECT DEST_ID, DEST_NAME, STATUS, TARGET, ARCHIVER, DESTINATION, ERROR
FROM V$ARCHIVE_DEST
WHERE STATUS != 'INACTIVE';
-- 4. 최근 아카이브 로그 생성 현황 (일별)
SELECT
TRUNC(COMPLETION_TIME, 'DD') AS "날짜",
COUNT(*) AS "아카이브 로그 수",
ROUND(SUM(BLOCKS * BLOCK_SIZE) / (1024*1024*1024), 2) AS "크기(GB)"
FROM V$ARCHIVED_LOG
WHERE COMPLETION_TIME >= SYSDATE - 7
AND STANDBY_DEST = 'NO'
GROUP BY TRUNC(COMPLETION_TIME, 'DD')
ORDER BY 1;
Step 2-A. FRA 용량 임시 확장 (빠른 임시 해결)
서비스가 내려간 상황에서 가장 빠른 해결책은 FRA 크기를 늘리는 것입니다.
-- 현재 FRA 설정 확인
SHOW PARAMETER db_recovery_file_dest;
-- FRA 크기를 50GB로 임시 확장 (동적 변경 가능)
ALTER SYSTEM SET db_recovery_file_dest_size = 50G SCOPE=BOTH;
-- 또는 FRA 경로 자체를 여유 공간이 많은 다른 경로로 변경
ALTER SYSTEM SET db_recovery_file_dest = '/new_archive_path' SCOPE=BOTH;
> ⚠️ 이 방법은 임시방편입니다. 근본 원인(불필요한 파일 누적)을 반드시 해결해야 합니다.
Step 2-B. RMAN으로 불필요한 아카이브 로그 삭제
# OS에서 RMAN 접속
rman target /
-- RMAN 내에서 실행
-- 1. 현재 아카이브 로그 목록 및 백업 여부 확인
LIST ARCHIVELOG ALL;
-- 2. 이미 백업된 아카이브 로그 삭제 (가장 안전한 방법)
DELETE NOPROMPT ARCHIVELOG ALL BACKED UP 1 TIMES TO DISK;
-- 3. 특정 날짜 이전 아카이브 로그 삭제 (백업 확인 후 실행)
DELETE NOPROMPT ARCHIVELOG UNTIL TIME 'SYSDATE-2';
-- 4. FRA에서 회수 가능한 공간 확보 (만료된 백업/아카이브 삭제)
DELETE NOPROMPT EXPIRED ARCHIVELOG ALL;
DELETE NOPROMPT OBSOLETE;
-- 5. 크로스 체크 후 삭제 (RMAN 카탈로그와 실제 파일 동기화)
CROSSCHECK ARCHIVELOG ALL;
DELETE NOPROMPT EXPIRED ARCHIVELOG ALL;
Step 2-C. OS 레벨에서 수동 삭제 후 RMAN 카탈로그 동기화
> ⚠️ OS에서 직접 삭제하는 것은 권장하지 않습니다. 반드시 RMAN으로 처리하세요. 불가피할 경우 아래 절차를 따릅니다.
# OS에서 오래된 아카이브 로그 삭제 (예: 3일 이전)
find /archive_log_dest -name "*.arc" -mtime +3 -exec rm -f {} \;
-- OS 삭제 후 반드시 RMAN에서 카탈로그 동기화
-- RMAN 접속 후 실행
CROSSCHECK ARCHIVELOG ALL;
DELETE NOPROMPT EXPIRED ARCHIVELOG ALL;
Step 2-D. 아카이브 목적지 추가 설정
공간이 부족한 경로 대신 여유 공간이 있는 경로를 추가로 지정합니다.
-- 기존 목적지 확인
SELECT DEST_ID, DEST_NAME, DESTINATION, STATUS
FROM V$ARCHIVE_DEST
WHERE TARGET = 'PRIMARY' AND STATUS = 'VALID';
-- 새로운 아카이브 목적지 추가
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2 = 'LOCATION=/new_archive_dest2' SCOPE=BOTH;
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2 = ENABLE SCOPE=BOTH;
-- 기존 꽉 찬 목적지는 임시 비활성화
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_1 = DEFER SCOPE=BOTH;
Step 3. 아카이버 프로세스 재시작 확인
공간 확보 후 ARCn 프로세스가 정상 동작하는지 확인합니다.
ORA 에러를 번호 순서대로 정리하는 시리즈입니다.
블로그 홈에서 다른 에러도 확인하세요.
⚠ 본 포스트는 AI가 생성한 기술 가이드입니다. 운영 환경 적용 전 충분한 검토를 권장합니다.