본문 바로가기
Database/Oracle

[ORACLE] USER_REPFLAVOR_OBJECTS 완벽 가이드 : 복제 플래이버별 객체 구성 전략

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

USER_REPFLAVOR_OBJECTS 완벽 가이드 : 복제 플래이버별 객체 구성 전략
[ORACLE] USER_REPFLAVOR_OBJECTS

 

USER_REPFLAVOR_OBJECTS 뷰는 Oracle 고급 복제(Advanced Replication) 환경에서 각 플래이버(Flavor)에 포함된 복제 객체(Object) 목록을 확인할 수 있는 데이터 딕셔너리 뷰입니다. 플래이버는 복제 객체의 구성 조합이며, 이 뷰는 테이블, 트리거, 프로시저, 패키지 등 복제에 포함된 오브젝트들을 플래이버 단위로 세분화하여 관리할 수 있도록 돕습니다.

1. USER_REPFLAVOR_OBJECTS란?

USER_REPFLAVOR_OBJECTS는 사용자가 정의한 복제 플래이버 내에 포함된 객체(테이블, 인덱스, 트리거 등)의 목록을 보여주는 뷰입니다. 이를 통해 어떤 객체가 특정 플래이버 구성에 포함되었는지 확인할 수 있으며, 다양한 복제 전략을 설계하고 실험할 때 유용하게 활용됩니다.

📌 주요 역할

  • 플래이버별 복제 객체 구성 확인
  • 복제 전략 변경 전 구성 점검
  • 다중 플래이버 구성 비교 분석

2. 주요 컬럼 설명

컬럼명 설명
FLAVOR_ID 복제 플래이버 고유 식별자
SNAME 객체가 포함된 스키마 이름
ONAME 복제 객체 이름
TYPE 객체 유형 (TABLE, TRIGGER, PACKAGE 등)
STATUS 객체의 포함 여부 또는 활성화 상태

3. 실무 활용 예시

예시 1: 특정 플래이버의 복제 객체 확인


SELECT SNAME, ONAME, TYPE
FROM USER_REPFLAVOR_OBJECTS
WHERE FLAVOR_ID = 1001;
  

예시 2: 특정 유형의 객체만 필터링


SELECT FLAVOR_ID, ONAME
FROM USER_REPFLAVOR_OBJECTS
WHERE TYPE = 'TABLE';
  

예시 3: 플래이버 구성 누락 객체 확인

STATUS가 비활성 또는 오류로 표기된 경우 복제 대상에서 누락되었을 가능성이 있습니다.


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

4. USER_REPFLAVOR_OBJECTS vs DBA_REPFLAVOR_OBJECTS

항목 USER_REPFLAVOR_OBJECTS DBA_REPFLAVOR_OBJECTS
조회 범위 자신의 스키마의 복제 플래이버 객체 모든 사용자 복제 플래이버 객체
권한 요구 기본 사용자 권한 DBA 권한 필요
활용 대상 복제 구성 개발자 DB 관리자, 보안 감사자

5. 실전 전략 및 팁

  • 복제 전략 변경 전 각 플래이버 구성 비교는 필수
  • 오류 또는 비정상 객체(STATUS ≠ VALID)는 복제 충돌 원인이 될 수 있음
  • 스냅샷 사이트와 마스터 사이트 간 객체 동기화 시 기준점으로 활용 가능
  • 객체 유형 필터링을 통해 복제 범위 최적화 가능

6. 연관 뷰 및 패키지

  • USER_REPFLAVORS – 플래이버 정의 정보
  • USER_REPOBJECT – 복제 객체 메타 정보
  • DBMS_REPCAT – 복제 관리용 패키지

7. 결론

USER_REPFLAVOR_OBJECTS 뷰는 오라클 고급 복제 환경에서 플래이버 단위로 복제 대상 객체를 구성하고 관리하는 데 매우 유용한 도구입니다. 특히 운영 환경과 테스트 환경을 분리하거나 복제 정책을 실험적으로 적용할 때, 플래이버 기반 객체 구성을 정밀하게 확인하고 유지하는 것이 중요합니다.

📚 출처

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