2026년 07월 02일 | DBMS Error 가이드
이 글에서 다루는 내용
ORA-01052 에러의 원인 분석, 해결 SQL, 예방 방법을 실무 관점에서 정리합니다.
ORA-01052 required destination LOG_ARCHIVE_DEST_n is not specified 는?
ORA-01052 에러는 Oracle 데이터베이스의 아카이브 로그 목적지(Archive Log Destination) 설정이 올바르지 않을 때 발생하는 오류입니다. 특히 LOG_ARCHIVE_DEST_n 파라미터에서 필수로 지정되어야 하는 목적지가 누락되거나 잘못 구성되었을 때 이 에러가 트리거됩니다. 주로 Data Guard 환경 구성, 아카이브 로그 설정 변경, 또는 데이터베이스 파라미터 수정 작업 중에 자주 목격되는 에러입니다.
주요 발생 원인
- LOG_ARCHIVE_DEST_n 파라미터 미설정 또는 누락
가장 흔한 원인으로, LOG_ARCHIVE_DEST_n 파라미터 중 하나가 MANDATORY 속성으로 설정되어 있지만 실제 경로 또는 서비스명이 지정되지 않은 경우입니다. Oracle은 MANDATORY로 지정된 목적지가 유효하지 않으면 아카이브 작업 자체를 실패 처리하므로, 운영 중인 데이터베이스의 아카이브 프로세스 전체가 중단될 수 있습니다. 특히 파라미터 파일(SPFILE 또는 PFILE)을 수작업으로 편집하다가 실수로 해당 항목을 지우거나 잘못 입력했을 때 발생합니다.
- Data Guard 구성 시 Standby 목적지 설정 오류
Oracle Data Guard 환경에서 Primary 데이터베이스의 Redo 로그를 Standby 데이터베이스로 전송하기 위해 LOG_ARCHIVE_DEST_2 등의 파라미터를 설정하는데, 이 과정에서 SERVICE 속성에 tnsnames.ora에 등록되지 않은 서비스명을 입력하거나 네트워크 설정이 맞지 않으면 ORA-01052가 발생할 수 있습니다. Standby 목적지는 반드시 사전에 네트워크 접속 테스트가 완료된 서비스명을 사용해야 하며, VALID_FOR 속성도 정확하게 지정해야 합니다.
- LOG_ARCHIVE_MIN_SUCCEED_DEST 값과 실제 유효 목적지 수 불일치
LOG_ARCHIVE_MIN_SUCCEED_DEST 파라미터는 아카이브 성공으로 인정하기 위한 최소 목적지 수를 지정합니다. 예를 들어 이 값이 2로 설정되어 있는데 실제로 유효하게 동작하는 목적지가 1개밖에 없다면, Oracle은 필수 목적지가 충족되지 않았다고 판단하여 ORA-01052를 발생시킵니다. 이 경우 목적지 수를 늘리거나 파라미터 값을 조정해야 정상적으로 아카이브가 진행됩니다.
해결 방법
원인 1 해결: LOG_ARCHIVE_DEST_n 파라미터 올바르게 설정
먼저 현재 아카이브 목적지 설정 상태를 확인합니다.
-- 현재 아카이브 목적지 파라미터 확인
SHOW PARAMETER LOG_ARCHIVE_DEST;
-- 또는 v$archive_dest 뷰를 통해 상세 상태 확인
SELECT dest_id, dest_name, status, target, archiver, schedule,
destination, valid_now, valid_type, valid_role
FROM v$archive_dest
WHERE dest_id <= 10
ORDER BY dest_id;
아카이브 목적지가 누락된 경우 아래와 같이 설정합니다.
-- 로컬 아카이브 목적지 설정 (SPFILE 사용 시)
ALTER SYSTEM SET LOG_ARCHIVE_DEST_1 = 'LOCATION=/arch/oradata/ORCL MANDATORY' SCOPE=BOTH;
-- 아카이브 목적지 상태 활성화
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_1 = 'ENABLE' SCOPE=BOTH;
-- 설정 확인
SELECT dest_id, status, destination FROM v$archive_dest WHERE dest_id = 1;
원인 2 해결: Data Guard Standby 목적지 설정 수정
-- tnsnames.ora 서비스명 확인 후 올바른 Data Guard 목적지 설정
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2 =
'SERVICE=STANDBY_DB ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=STANDBY REOPEN=15 MAX_FAILURE=10'
SCOPE=BOTH;
-- Standby 목적지 상태 활성화
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2 = 'ENABLE' SCOPE=BOTH;
-- Data Guard 구성 상태 확인
SELECT dest_id, dest_name, status, target, archiver,
schedule, destination, db_unique_name
FROM v$archive_dest
WHERE dest_id = 2;
-- 네트워크 서비스명 연결 테스트 (SQL*Plus에서)
-- $> tnsping STANDBY_DB
원인 3 해결: LOG_ARCHIVE_MIN_SUCCEED_DEST 값 조정
-- 현재 설정값 확인
SHOW PARAMETER LOG_ARCHIVE_MIN_SUCCEED_DEST;
-- 유효한 목적지 수 확인
SELECT COUNT(*) AS valid_dest_count
FROM v$archive_dest
WHERE status = 'VALID'
AND target = 'PRIMARY';
-- 값을 실제 유효 목적지 수에 맞게 조정
ALTER SYSTEM SET LOG_ARCHIVE_MIN_SUCCEED_DEST = 1 SCOPE=BOTH;
-- 변경 후 아카이브 로그 강제 전환으로 테스트
ALTER SYSTEM SWITCH LOGFILE;
-- 아카이브 로그 정상 생성 여부 확인
SELECT sequence#, name, applied, completion_time
FROM v$archived_log
ORDER BY sequence# DESC
FETCH FIRST 5 ROWS ONLY;
종합 진단 쿼리
문제 발생 시 전체 아카이브 목적지 상태를 빠르게 진단하기 위한 쿼리입니다.
-- 전체 아카이브 목적지 종합 진단
SELECT d.dest_id,
d.status,
d.target,
d.archiver,
d.schedule,
d.destination,
d.error,
d.fail_count,
d.fail_date
FROM v$archive_dest d
WHERE d.status != 'INACTIVE'
ORDER BY d.dest_id;
-- 알림 로그에서 ORA-01052 관련 메시지 확인 (alert log 경로 조회)
SELECT value AS alert_log_location
FROM v$diag_info
WHERE name = 'Diag Trace';
예방 방법
- 아카이브 목적지 모니터링 자동화 및 정기 점검
운영 환경에서는 v$archive_dest 뷰와 v$archive_dest_status 뷰를 주기적으로 모니터링하는 스크립트를 스케줄링하여 목적지 상태 이상을 사전에 감지하는 것이 중요합니다. 아래와 같은 모니터링 쿼리를 Oracle Scheduler 또는 OS 크론(Cron)으로 일 1회 이상 실행하고, 이상 발생 시 DBA에게 즉시 알림이 가도록 구성해야 합니다.
“`sql
— 아카이브 목적지 이상 여부 정기 점검 쿼리
SELECT dest_id, status, destination, error
FROM v$archive_dest
WHERE status = ‘ERROR’
OR (status = ‘INACTIVE’ AND target = ‘PRIMARY’);
“`
- 파라미터 변경 시 SCOPE=BOTH 및 변경 전후 백업 생성 습관화
LOG_ARCHIVE_DEST_n 관련 파라미터를 변경할 때는 반드시 변경 전 현재 SPFILE 설정을 PFILE로 백업한 후 작업을 진행합니다. 또한 변경 후에는 ALTER SYSTEM SWITCH LOGFILE로 즉시 아카이브 동작을 검증하고, 문제가 없을 때만 작업을 완료 처리하는 습관이 운영 장애를 크게 줄여줍니다.
“`sql
— 작업 전 SPFILE을 PFILE로 백업
CREATE PFILE=’/backup/init_backup_YYYYMMDD.ora’ FROM SPFILE;
“`
관련 에러
- ORA-01053: 사용자 지정 아카이브 스토리지를 읽을 수 없는 경우 발생하며, 아카이브 디렉토리 접근 권한 문제와 연관됩니다.
- ORA-16014:
LOG_ARCHIVE_DEST_n경로가 유효하지 않거나 아카이브 로그를 해당 목적지에 기록할 수 없을 때 발생합니다. - ORA-16055: Mandatory Standby 목적지로의 아카이브 실패 시 발생하며, Data Guard 환경에서 ORA-01052와 함께 자주 나타납니다.
- ORA-19504: 아카이브 파일 생성 실패 에러로, 디스크 공간 부족이나 경로 오류 시 ORA-01052와 연계되어 발생할 수 있습니다.
주요 DBMS error code를 정리하는 시리즈입니다.
블로그 홈에서 다른 에러도 확인하세요.
본 포스트는 AI가 생성한 기술 가이드입니다. 운영 환경 적용 전 충분한 검토를 권장합니다.