728x90

USER_REPGENERATED는 Oracle 고급 복제(Advanced Replication) 환경에서 복제 지원을 위해 자동 생성된 객체의 정보를 보여주는 데이터 딕셔너리 뷰입니다. 복제 대상 객체가 정상적으로 복제되기 위해 필요한 트리거, 패키지, 시퀀스 등이 적절히 생성되었는지를 이 뷰를 통해 확인할 수 있습니다.
1. USER_REPGENERATED란?
USER_REPGENERATED는 사용자의 복제 그룹 내 복제 대상 객체에 대해 오라클이 생성한 **지원 객체(replication support object)** 목록과 생성 상태를 나타내는 뷰입니다. 이는 DBMS_REPCAT.GENERATE_REPLICATION_SUPPORT 프로시저 호출 결과로 생성되며, 복제 작동에 필요한 인프라의 핵심 점검 포인트입니다.
📌 생성되는 복제 지원 객체 예시
- AFTER ROW 트리거 (데이터 변경 추적용)
- 패키지와 프로시저 (변경 로깅 처리)
- 시퀀스, 내부 로그 테이블 등
2. 주요 컬럼 설명
| 컬럼명 | 설명 |
|---|---|
| NAME | 복제 대상 객체 이름 (테이블 등) |
| SNAME | 해당 객체가 포함된 스키마 이름 |
| GEN_FLAG | 복제 지원 객체 생성 여부 (Y/N) |
| GEN_DATE | 지원 객체가 생성된 날짜 |
| STATUS | 객체 생성 결과 상태 (VALID, ERROR 등) |
3. 실무 활용 예시
예시 1: 복제 지원이 생성된 테이블 목록
SELECT NAME, STATUS, GEN_DATE
FROM USER_REPGENERATED
WHERE GEN_FLAG = 'Y';
예시 2: 생성에 실패한 객체 점검
SELECT NAME, STATUS
FROM USER_REPGENERATED
WHERE STATUS != 'VALID';
예시 3: 특정 테이블의 복제 지원 상태 확인
SELECT *
FROM USER_REPGENERATED
WHERE NAME = 'ORDERS';
4. USER_REPGENERATED vs DBA_REPGENERATED
| 항목 | USER_REPGENERATED | DBA_REPGENERATED |
|---|---|---|
| 조회 범위 | 자신의 복제 대상 객체만 | 모든 사용자 복제 대상 객체 |
| 접근 권한 | 기본 사용자 권한 | DBA 권한 필요 |
| 활용 대상 | 복제 구성 사용자 | 시스템 관리자 및 DBA |
5. 실전 팁 및 전략
GEN_FLAG = 'N'이거나STATUS != 'VALID'인 경우 복제 문제가 발생할 수 있으므로 즉시 점검 필요- 지원 객체가 재생성되어야 할 경우
DBMS_REPCAT.GENERATE_REPLICATION_SUPPORT재실행 - 스키마 변경 후(예: 컬럼 추가) 이 뷰를 반드시 확인하여 복제 지원이 최신 상태인지 검증 필요
- DDL 변경 시에는 복제 그룹을 QUIESCED 상태로 전환 후 수행
6. 연관 뷰 및 패키지
USER_REPCAT– 복제 그룹 정보USER_REPOBJECT– 복제 대상 객체 목록USER_REPDDL– 복제 대상 객체의 DDL 전파 정보DBMS_REPCAT– 복제 설정 및 지원 객체 관리 패키지
7. 결론
USER_REPGENERATED는 오라클 복제 환경에서 복제 대상 객체의 지원 구조가 적절히 생성되었는지를 확인할 수 있는 매우 중요한 도구입니다. 이 뷰를 통해 복제 트리거, 패키지, 내부 로깅 구조의 생성 상태를 주기적으로 점검함으로써 고급 복제의 안정성과 무결성을 확보할 수 있습니다.
📚 출처
- Oracle Advanced Replication Guide
- Oracle Database Reference 19c
728x90
'Database > Oracle' 카테고리의 다른 글
| [ORACLE] USER_REPGROUP 활용 가이드 : 복제 그룹 정의와 운영 전략 (0) | 2025.08.01 |
|---|---|
| [ORACLE] USER_REPGENOBJECTS 완전 분석 : 자동 생성 복제 객체 진단 가이드 (0) | 2025.08.01 |
| [ORACLE] USER_REPFLAVOR_OBJECTS 완벽 가이드 : 복제 플래이버별 객체 구성 전략 (0) | 2025.08.01 |
| [ORACLE] USER_REPFLAVOR_COLUMNS 완벽 가이드 : 복제 플래이버별 컬럼 구성 전략 (0) | 2025.08.01 |
| [ORACLE] USER_REPFLAVORS 완전 분석 : 복제 플래이버 정의와 활용 전략 (0) | 2025.08.01 |