
Oracle의 Advanced Replication은 멀티사이트 환경에서의 데이터 일관성과 동기화를 보장하기 위한 강력한 기능입니다. 복제 그룹은 여러 사이트(Site)가 협력하여 구성되며, 각 사이트는 데이터의 소스 또는 대상이 될 수 있습니다. 이러한 사이트 구성 정보를 확인하고 추적하는 데 사용되는 대표적인 뷰가 바로 USER_REPSITES입니다. 이 글에서는 USER_REPSITES 뷰의 구조와 용도, 실무에서의 활용 방법, 관련 뷰 비교 등 핵심 정보를 심도 있게 분석하여, Oracle 복제 시스템의 안정적인 운영과 관리를 지원합니다.
1. USER_REPSITES 뷰란?
USER_REPSITES는 현재 사용자가 소유한 복제 그룹에 포함된 사이트(데이터베이스 인스턴스)들의 목록을 보여주는 Oracle 데이터 딕셔너리 뷰입니다. 각 사이트는 복제의 주체 또는 대상이며, 이를 통해 복제 관계의 전체 구조를 파악할 수 있습니다.
2. 주요 컬럼 설명
| 컬럼명 | 설명 |
|---|---|
| GNAME | 복제 그룹 이름 |
| SITE | 복제 사이트의 데이터베이스 이름 |
| MASTERDEF | 해당 사이트가 마스터 정의 사이트인지 여부 (Y/N) |
| MASTER | 마스터 사이트 여부 (Y/N) |
| STATUS | 사이트의 복제 상태 (e.g., NORMAL, ERROR) |
3. 주요 활용 목적
- 복제 그룹 내 연결된 모든 사이트 확인
- 마스터 정의 사이트(Masterdef) 및 마스터 사이트 구분
- 복제 상태 점검 및 장애 진단
- 복제 토폴로지 시각화 기반 자료 확보
4. 실전 예제: 복제 그룹 사이트 상태 확인
SELECT SITE, MASTERDEF, MASTER, STATUS
FROM USER_REPSITES
WHERE GNAME = 'SALES_REPGRP';
이 쿼리는 SALES_REPGRP 복제 그룹에 속한 모든 사이트의 역할 및 상태를 파악하는 데 사용됩니다.
5. 마스터 정의 사이트(Masterdef)란?
복제 환경에서 Master Definition Site는 복제 그룹의 중심 역할을 하는 사이트입니다. 모든 복제 구성(등록, 제거 등)은 반드시 Masterdef에서 수행되어야 하며, 변경 사항은 다른 마스터 사이트에 자동으로 전파됩니다.
6. 관련 뷰 비교표
| 뷰 이름 | 기능 | 주요 정보 | 조회 범위 |
|---|---|---|---|
| USER_REPSITES | 복제 그룹의 사이트 목록 | 사이트명, 역할, 상태 | 자신이 소유한 복제 그룹 |
| USER_REPGROUPED_OBJECTS | 복제 그룹 내 객체 정보 | 테이블, 뷰 등 객체 목록 | 자신의 복제 그룹 |
| DBA_REPSITES | DB 전체 복제 사이트 정보 | 전사적 복제 인프라 | DBA 권한 |
7. 복제 장애 진단 팁
- STATUS가 ERROR인 사이트는 즉시 조사 필요
- Masterdef의 연결 장애는 전체 복제 시스템에 영향을 줄 수 있음
- DBMS_DEFER_ERROR 또는 DBA_REPCATLOG 뷰와 연계하여 로그 분석 수행
8. 자주 묻는 질문 (FAQ)
Q1. USER_REPSITES가 비어 있는 경우?
A. 현재 계정에서 복제 그룹이 정의되지 않았거나, 사용자 계정이 복제 그룹에 속하지 않은 경우입니다.
Q2. 하나의 복제 그룹에 여러 마스터 사이트를 가질 수 있나요?
A. 네, 가능하며 이 경우 Multi-Master 복제 구조가 됩니다. 단, Masterdef는 반드시 1개입니다.
Q3. Masterdef를 변경할 수 있나요?
A. 가능합니다. DBMS_REPCAT.SWITCH_MASTERS 프로시저를 통해 Masterdef를 다른 사이트로 이전할 수 있습니다. 매우 신중하게 진행해야 합니다.
9. 결론
USER_REPSITES 뷰는 Oracle 복제 환경을 구성하는 핵심 단위인 사이트 정보를 파악하고 관리하는 데 필수적인 도구입니다. 안정적이고 유연한 복제 구조를 운영하려면 사이트 간 관계와 상태를 명확히 이해하고, 이를 기반으로 장애를 조기에 진단하고 예방할 수 있어야 합니다.
10. 참고 문헌
- Oracle Database Advanced Replication Guide – Oracle 공식 문서
- Oracle PL/SQL Packages and Types Reference – DBMS_REPCAT
'Database > Oracle' 카테고리의 다른 글
| [ORACLE] USER_ROLE_PRIVS 완전 해설 : 사용자에게 부여된 롤(Role) 권한 파악하기 (0) | 2025.08.06 |
|---|---|
| [ORACLE] USER_RESOURCE_LIMITS 완전 해설 : 사용자별 리소스 제한 정책 확인과 실무 활용 (0) | 2025.08.06 |
| [ORACLE] USER_REPSCHEMA 해설 : 복제 그룹 내 사용자 스키마 구성 확인하기 (0) | 2025.08.05 |
| [ORACLE] USER_REPRESOL_STATS_CONTROL 해설 : 복제 충돌 통계 수집을 제어하는 핵심 뷰 (0) | 2025.08.05 |
| [ORACLE] USER_REPRESOLUTION_STATISTICS 해설 : 복제 충돌 해결 통계로 보는 시스템 신뢰도 (0) | 2025.08.05 |