728x90

USER_REPDDL은 Oracle 고급 복제(Advanced Replication) 환경에서 수행된 DDL(Data Definition Language) 명령의 내역을 추적할 수 있도록 설계된 데이터 딕셔너리 뷰입니다. 복제 대상 오브젝트의 구조 변경, 예를 들어 테이블 컬럼 추가, 인덱스 생성, 제약조건 변경 등이 실시간 동기화 시스템에 어떤 영향을 주었는지 확인할 수 있는 유용한 로그 뷰입니다.
1. USER_REPDDL이란?
고급 복제를 사용하는 경우, 복제 그룹에 포함된 객체에 대한 DDL 변경 사항은 전파되어야 하며, 이때 USER_REPDDL 뷰는 해당 명령이 언제, 어떤 형식으로 등록되었고, 어떤 상태인지를 추적하는 데 사용됩니다.
📌 주요 목적
- 복제 대상 객체의 구조 변경 감시
- DDL 작업의 전파 상태 확인
- 변경 내역의 오류 감지 및 대응
2. 주요 컬럼 설명
| 컬럼명 | 설명 |
|---|---|
| DDL_NUM | 고유 DDL 작업 번호 |
| GNAME | 관련 복제 그룹 이름 |
| MASTER | DDL 명령이 수행된 마스터 사이트 |
| STATUS | 명령 상태 (e.g., GENERATED, PROPAGATED, ERROR) |
| DDL_TEXT | 실행된 DDL 명령의 SQL 텍스트 |
| GENERATION_DATE | DDL 명령 생성 일시 |
3. 실무 활용 예시
예시 1: 최근 수행된 DDL 명령 확인
SELECT DDL_NUM, GNAME, STATUS, GENERATION_DATE
FROM USER_REPDDL
ORDER BY GENERATION_DATE DESC;
예시 2: 실패한 DDL 전파 확인
DDL이 에러 상태로 남아있는 경우, 수동 조치가 필요할 수 있습니다.
SELECT *
FROM USER_REPDDL
WHERE STATUS = 'ERROR';
예시 3: 전체 DDL 텍스트 내용 분석
SELECT DDL_TEXT
FROM USER_REPDDL
WHERE DDL_NUM = 102;
4. USER_REPDDL vs DBA_REPDDL
| 항목 | USER_REPDDL | DBA_REPDDL |
|---|---|---|
| 대상 범위 | 사용자 소유 복제 그룹 내의 DDL 작업 | 모든 사용자 복제 그룹의 DDL 작업 |
| 접근 권한 | 기본 사용자 권한 | DBA 권한 필요 |
| 사용자 유형 | 복제 사용자, 개발자 | DB 관리자, 감사자 |
5. DDL 복제 시 주의사항
- DDL 명령은 트랜잭션 제어를 받지 않으므로 신중히 수행해야 합니다.
- 테이블 구조 변경 전에는 반드시 복제 그룹을
QUIESCED상태로 전환해야 안정성이 확보됩니다. - DDL 오류 발생 시
DBMS_REPCAT.SHOW_DDL또는EXECUTE_DDL을 수동 실행할 수 있습니다.
6. 관련 뷰 및 패키지
USER_REPCATLOG– 전반적인 복제 작업 로그DBMS_REPCAT.GENERATE_REPLICATION_SUPPORT– 복제 지원 구조 생성DBMS_DEFER_SYS– 전파 오류 수동 처리
7. 결론
USER_REPDDL 뷰는 Oracle 고급 복제 환경에서 구조 변경 사항의 전파 여부를 추적하고 문제를 조기에 파악하는 데 매우 유용합니다. 특히 다중 마스터 복제 환경에서는 구조 변경이 각 사이트에 미치는 영향을 즉시 확인하고, 오류가 발생할 경우 적절한 대응을 하기 위해 이 뷰의 활용이 필수적입니다.
📚 출처
- Oracle Advanced Replication Guide
- Oracle Database 19c Reference
728x90
'Database > Oracle' 카테고리의 다른 글
| [ORACLE] USER_REPFLAVOR_COLUMNS 완벽 가이드 : 복제 플래이버별 컬럼 구성 전략 (0) | 2025.08.01 |
|---|---|
| [ORACLE] USER_REPFLAVORS 완전 분석 : 복제 플래이버 정의와 활용 전략 (0) | 2025.08.01 |
| [ORACLE] USER_REPCONFLICT 완전 정복 : 고급 복제 충돌 감지 및 해결 전략 (0) | 2025.08.01 |
| [ORACLE] USER_REPCOLUMN_GROUP 완전 정복 : 컬럼 그룹 기반 복제 전략 (0) | 2025.08.01 |
| [ORACLE] USER_REPCOLUMN 완전 정복 : 컬럼 단위 복제 설정과 활용 전략 (0) | 2025.07.31 |