본문 바로가기
Database/Oracle

[ORACLE] USER_REPGENOBJECTS 완전 분석 : 자동 생성 복제 객체 진단 가이드

by Papa Martino V 2025. 8. 1.
728x90

 

USER_REPGENOBJECTS 완전 분석 : 자동 생성 복제 객체 진단 가이드
[ORACLE] USER_REPGENOBJECTS

 

USER_REPGENOBJECTS 뷰는 Oracle 고급 복제(Advanced Replication) 기능을 설정할 때 DBMS_REPCAT.GENERATE_REPLICATION_SUPPORT 패키지를 통해 생성된 내부 복제 지원 객체들을 추적할 수 있는 데이터 딕셔너리 뷰입니다. 이 뷰는 복제용 트리거, 패키지, 시퀀스 등 시스템이 자동으로 만든 오브젝트들의 상태를 명확히 파악할 수 있도록 지원합니다.

1. USER_REPGENOBJECTS란?

복제 테이블을 구성하고 나면 Oracle은 데이터 변경을 추적하고 충돌을 방지하기 위한 지원 객체들을 자동으로 생성합니다. USER_REPGENOBJECTS 뷰는 이런 객체들이 어떤 이름으로, 어떤 상태로 생성되었는지를 보여주며, 복제 문제 발생 시 첫 번째로 점검해야 하는 핵심 진단 도구입니다.

📌 주요 자동 생성 객체 예시

  • AFTER ROW 트리거 (INSERT/UPDATE/DELETE 추적)
  • 충돌 감지/해결용 패키지
  • 변경 로그 기록용 시퀀스 및 테이블

2. 주요 컬럼 설명

컬럼명 설명
GNAME 복제 그룹 이름
SNAME 오브젝트가 속한 스키마 이름
ONAME 자동 생성된 복제 지원 객체 이름
TYPE 객체 유형 (TRIGGER, PACKAGE, TABLE, SEQUENCE 등)
STATUS 생성 상태 (VALID, ERROR 등)

3. 실무 활용 예시

예시 1: 생성된 트리거 확인


SELECT ONAME, STATUS
FROM USER_REPGENOBJECTS
WHERE TYPE = 'TRIGGER';
  

예시 2: 오류가 발생한 복제 객체 점검


SELECT *
FROM USER_REPGENOBJECTS
WHERE STATUS != 'VALID';
  

예시 3: 특정 복제 그룹에서 생성된 객체 전체 확인


SELECT ONAME, TYPE, STATUS
FROM USER_REPGENOBJECTS
WHERE GNAME = 'SALES_REPGROUP';
  

4. USER_REPGENOBJECTS vs DBA_REPGENOBJECTS

항목 USER_REPGENOBJECTS DBA_REPGENOBJECTS
조회 범위 현재 사용자 복제 객체 모든 사용자 복제 객체
접근 권한 기본 사용자 권한 DBA 권한 필요
활용 대상 복제 설정 개발자 DB 관리자, 보안 감사자

5. 실전 팁

  • STATUS가 ERROR인 경우, 수동 삭제 및 재생성 필요
  • 트리거는 데이터 무결성 및 동기화에 직접 관여하므로 가장 우선적으로 확인
  • 복제 구조 변경 후에는 항상 이 뷰를 점검하여 불일치 객체가 없는지 검토

6. 관련 뷰 및 패키지

  • USER_REPGENERATED – 복제 지원 생성 이력
  • USER_REPCAT – 복제 그룹 정보
  • DBMS_REPCAT – 복제 지원 객체 생성 및 삭제 패키지

7. 결론

USER_REPGENOBJECTS 뷰는 Oracle 복제 환경에서 자동 생성된 지원 객체들을 관리하고 오류를 진단하기 위한 필수적인 뷰입니다. 고급 복제를 설정한 후 또는 테이블 구조가 변경된 이후에는 반드시 이 뷰를 점검하여 동기화와 충돌 방지를 위한 객체들이 제대로 생성되었는지를 확인해야 합니다.

📚 출처

  • Oracle Advanced Replication Guide
  • Oracle Database Reference 19c
728x90