Oracle ORA-01052 오류 원인과 해결 방법 완벽 가이드

ORA-01052
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 에러 코드 시리즈

주요 DBMS error code를 정리하는 시리즈입니다.
블로그 홈에서 다른 에러도 확인하세요.

본 포스트는 AI가 생성한 기술 가이드입니다. 운영 환경 적용 전 충분한 검토를 권장합니다.

댓글 남기기