본문 바로가기
Database/Oracle

[ORACLE] USER_REPCATLOG 뷰 완벽 분석 : 고급 복제 로그 추적과 문제 해결

by Papa Martino V 2025. 7. 31.
728x90

USER_REPCATLOG 뷰 완벽 분석 : 고급 복제 로그 추적과 문제 해결
[ORACLE] USER_REPCATLOG

 

USER_REPCATLOG 뷰는 Oracle 고급 복제(Advanced Replication) 환경에서 발생한 각종 작업 및 동기화 관련 로그를 저장하고 추적할 수 있도록 지원하는 데이터 딕셔너리 뷰입니다. 복제 중 발생한 오류나 대기 중인 작업 상태를 추적하는 데 필수적인 도구로, 실무에서의 데이터 일관성 확보와 장애 대응에 매우 중요합니다.

1. USER_REPCATLOG이란?

USER_REPCATLOG는 사용자가 소유한 복제 그룹에 대해 발생한 변경 로그 및 작업 상태를 기록하는 시스템 뷰입니다. 이 뷰는 특히 DBMS_REPCAT 패키지를 사용한 복제 작업의 상태, 오류 발생 내역, 작업의 진행 여부 등을 추적할 때 사용됩니다.

🔎 주요 기능

  • 복제 관련 DDL 실행 로그 확인
  • 복제 오류 및 재처리 대상 식별
  • 복제 로그 처리 지연 또는 실패 분석

2. 주요 컬럼 설명

컬럼명 설명
USERNAME 작업을 요청한 사용자
REQUEST 수행된 작업 명령 (e.g., CREATE_MASTER_REPGROUP)
STATUS 작업의 현재 상태 (e.g., GENERATED, ERROR, DONE)
GENERATED 로그 생성 일시 (DATE)
ERROR_NUMBER 오류 발생 시의 ORA 에러 번호
ERROR_MSG 상세 오류 메시지
JOB 관련 DBMS_JOB 번호

3. 실무 활용 예시

예시 1: 복제 작업 오류 내역 조회


SELECT USERNAME, REQUEST, ERROR_NUMBER, ERROR_MSG 
FROM USER_REPCATLOG 
WHERE STATUS = 'ERROR';
  

예시 2: 현재 실행 중인 복제 작업 확인


SELECT * 
FROM USER_REPCATLOG 
WHERE STATUS = 'GENERATED';
  

예시 3: 특정 시점 이후의 로그 확인


SELECT * 
FROM USER_REPCATLOG 
WHERE GENERATED > SYSDATE - 7;
  

4. USER_REPCATLOG vs DBA_REPCATLOG 비교

항목 USER_REPCATLOG DBA_REPCATLOG
조회 대상 자신이 소유한 복제 로그 전체 사용자 복제 로그
권한 요구 기본 사용자 권한 DBA 권한 필요
활용 주체 복제 작업 중인 개발자 시스템 관리자, DBA

5. 복제 로그 오류 대응 전략

  • ORA-23308: 복제 오브젝트가 잘못되었을 때 발생 → 오브젝트 유효성 재확인
  • ORA-23375: 복제 그룹 상태 불일치 → 마스터 정의 사이트에서 상태 복구
  • DBMS_REPCAT.SUSPEND_MASTER_ACTIVITY를 통해 오류 수정 후 재시도
  • 관련 JOB 번호를 통해 DBMS_JOB 관리로 재처리 가능

6. 복제 로그 관리 팁

  • 정기적으로 USER_REPCATLOG를 모니터링하여 지연되거나 실패한 작업을 빠르게 식별해야 합니다.
  • 복제 로그가 쌓이는 경우, 시스템 부하 증가의 원인이 될 수 있으므로 오래된 로그는 수동 정리하는 것이 좋습니다.
  • 재시도가 필요한 오류는 DBMS_DEFER_SYS.EXECUTE_ERROR 패키지를 사용하여 수동 실행할 수 있습니다.

7. 결론

USER_REPCATLOG는 오라클 복제 환경에서 복제 작업의 성공/실패 여부를 추적하고, 오류 발생 시 정확한 원인을 파악하는 데 핵심적인 도구입니다. 정기적인 점검과 자동화된 로그 감시 스크립트를 통해 복제 환경의 안정성과 일관성을 유지할 수 있습니다. 특히 다중 사이트 동기화를 구성한 기업 환경에서는 필수적인 보안 및 운영 점검 수단으로 활용할 수 있습니다.

📚 출처

728x90