
Oracle의 고급 복제 기능(Advanced Replication)은 분산 환경에서 데이터의 일관성을 유지하기 위한 핵심 솔루션입니다. 복제된 객체가 변경될 경우 해당 변경사항을 원격 사이트에 전파(Propagation)하는 메커니즘은 복제 시스템의 핵심 구성 요소입니다.
이러한 전파 속성 정보를 확인하고 관리할 수 있도록 제공되는 데이터 딕셔너리 뷰가 USER_REPPROP입니다. 본 문서는 이 뷰의 구조, 활용 시나리오, 관리 팁을 포함한 실무 중심의 가이드를 제공합니다.
1. USER_REPPROP 뷰란?
USER_REPPROP는 현재 사용자 스키마 내에 존재하는 복제 객체들의 전파 속성(Replication Propagation Properties)을 보여주는 Oracle의 데이터 딕셔너리 뷰입니다.
이 뷰를 통해 어떤 테이블, 뷰, 패키지 등이 어떤 방식으로 전파되는지, 전파 대상은 어디인지, 마지막 전파 상태는 어떤지 등의 정보를 확인할 수 있습니다.
2. 주요 컬럼 설명
| 컬럼명 | 설명 |
|---|---|
| GNAME | 복제 그룹 이름 |
| SNAME | 소유자 스키마 이름 |
| ONAME | 복제 객체 이름 |
| TYPE | 객체 유형 (TABLE, PACKAGE 등) |
| STATUS | 전파 설정 상태 (e.g., VALID, ERROR) |
| LATENCY | 전파 지연 허용 시간 (초 단위) |
| DEFER | 지연 전파 여부 (Y/N) |
3. 실무에서의 활용 목적
- 복제 객체별 전파 상태 점검
- 지연 전파(DEFERRED)가 설정된 객체 확인
- 에러 상태인 전파 객체 진단 및 재설정
- 성능 튜닝을 위한 LATENCY 설정 확인
4. 실전 예제: 전파 상태가 유효하지 않은 객체 조회
SELECT ONAME, TYPE, STATUS, DEFER
FROM USER_REPPROP
WHERE STATUS != 'VALID';
이 쿼리는 전파 설정에 문제가 있거나 전파 실패 상태로 전환된 복제 객체를 찾아내는 데 유용합니다.
5. 관련 뷰 비교표
| 뷰 이름 | 기능 | 조회 범위 | 주 사용 목적 |
|---|---|---|---|
| USER_REPPROP | 복제 전파 속성 정보 | 사용자 본인 객체 | 전파 설정 점검 |
| ALL_REPPROP | 접근 가능한 모든 전파 속성 | 권한 있는 사용자 | 협업 환경 점검 |
| DBA_REPPROP | DB 전체 전파 설정 정보 | 전체 데이터베이스 | DBA 관리용 |
6. 전파 속성 설정 및 수정 방법
전파 설정은 Oracle 패키지 DBMS_REPCAT 또는 DBMS_DEFER를 통해 수행되며, 예시는 다음과 같습니다.
BEGIN
DBMS_REPCAT.ALTER_MASTER_REPOBJECT(
sname => 'HR',
oname => 'EMPLOYEES',
type => 'TABLE',
use_defaults => TRUE,
latency => 10);
END;
위 코드는 EMPLOYEES 테이블의 전파 지연 시간을 10초로 설정합니다.
7. 전파 오류 방지를 위한 체크리스트
STATUS가 VALID가 아닌 경우 로그 확인- DEFER = 'Y'인 경우 수동 큐 관리 필요
- 지연 시간 설정이 업무 SLA를 초과하지 않도록 설정
- 전파 오류가 반복되면
DBMS_DEFER_SYS.EXECUTE또는 수동 동기화 고려
8. 자주 묻는 질문 (FAQ)
Q1. DEFER 값이 'Y'인 이유는 무엇인가요?
A. 네트워크 부하 완화, 또는 트랜잭션 동시성 확보를 위해 변경 내용을 지연 전파하도록 설정할 수 있습니다. 단, 큐 처리가 필요합니다.
Q2. STATUS가 INVALID로 나타나는 원인은?
A. 복제 객체 변경 후 전파 속성이 갱신되지 않았거나, 등록 도중 오류가 발생한 경우입니다. DBA_REPCATLOG 또는 ALL_ERRORS에서 원인 확인이 가능합니다.
Q3. LATENCY 설정은 어떻게 활용되나요?
A. 변경사항을 수신자가 수용할 수 있는 시간 범위 내에서 처리하도록 허용하는 지연 시간입니다. 실시간성이 중요한 객체는 0 또는 짧게 설정합니다.
9. 결론
USER_REPPROP 뷰는 Oracle 복제 시스템에서 데이터 변경 전파의 정확성과 안정성을 확보하기 위한 핵심적인 역할을 합니다. 전파 설정을 체계적으로 관리하면 데이터 손실이나 충돌을 미연에 방지할 수 있으며, 전파 전략을 통해 성능 최적화도 실현할 수 있습니다. 정기적인 점검을 통해 시스템 복제 구조의 일관성과 품질을 유지하세요.
10. 참고 문헌
- Oracle Database Advanced Replication Guide – Oracle 공식 문서
- Oracle PL/SQL Packages and Types Reference – DBMS_REPCAT, DBMS_DEFER
'Database > Oracle' 카테고리의 다른 글
| [ORACLE] USER_REPRESOLUTION_STATISTICS 해설 : 복제 충돌 해결 통계로 보는 시스템 신뢰도 (0) | 2025.08.05 |
|---|---|
| [ORACLE] USER_REPRESOLUTION_METHOD 완전 해설 : 복제 충돌 해결 방법 정의와 활용 가이드 (0) | 2025.08.05 |
| [ORACLE] USER_REPRESOLUTION 완전 분석 : 복제 충돌 해결 정책을 한눈에 파악하는 핵심 뷰 (0) | 2025.08.05 |
| [ORACLE] USER_REPPRIORITY_GROUP 완전 해설 : 복제 충돌을 제어하는 우선순위 정책 구성 방법 (0) | 2025.08.05 |
| [ORACLE] USER_REPPRIORITY 완벽 해설 : 충돌 해결 우선순위 정책의 핵심 구조 (0) | 2025.08.05 |