
Oracle 데이터베이스에서 성능 향상 및 복잡한 쿼리 결과의 사전 계산을 위해 사용하는 물리적 뷰(Materialized View)는 데이터 웨어하우징, 분산 데이터베이스 등 다양한 환경에서 활용됩니다. 이러한 뷰의 정의와 속성, 리프레시 방식 등을 조회하는 데 사용되는 핵심 딕셔너리 뷰가 바로 ALL_MVIEWS입니다. 본 문서에서는 ALL_MVIEWS 뷰의 구조, 주요 컬럼, 활용 예제, 성능 관리 전략 및 관련 뷰와의 비교까지 통합적으로 설명합니다.
ALL_MVIEWS란?
ALL_MVIEWS는 현재 사용자가 접근 가능한 모든 물리적 뷰(Materialized View)에 대한 메타데이터를 제공하는 Oracle의 데이터 딕셔너리 뷰입니다. 물리적 뷰는 쿼리 결과를 물리적으로 저장하여, 반복적인 조인 및 집계 연산을 피할 수 있도록 해주는 강력한 기능입니다.
주요 컬럼 설명
- OWNER: 물리적 뷰를 소유한 사용자
- MVIEW_NAME: 물리적 뷰 이름
- QUERY: 물리적 뷰 정의 시 사용된 SELECT 문
- BUILD_MODE: IMMEDIATE 또는 DEFERRED
- REFRESH_METHOD: COMPLETE, FAST, FORCE 중 하나
- REFRESH_MODE: ON COMMIT 또는 ON DEMAND
- LAST_REFRESH_TYPE: 마지막 리프레시의 유형
- LAST_REFRESH_DATE: 마지막 리프레시 일시
- UPDATABLE: 업데이트 가능 여부
활용 예제
예제 1: 현재 사용자 소유 물리적 뷰 목록 조회
SELECT mview_name, refresh_mode, refresh_method
FROM all_mviews
WHERE owner = USER;
예제 2: 리프레시 방식이 FAST인 뷰 찾기
SELECT mview_name, query
FROM all_mviews
WHERE refresh_method = 'FAST';
예제 3: 최근 리프레시 시간 확인
SELECT mview_name, last_refresh_date
FROM all_mviews
ORDER BY last_refresh_date DESC;
관련 뷰 비교
| 뷰 이름 | 설명 | 용도 |
|---|---|---|
| ALL_MVIEWS | 사용자가 접근 가능한 모든 물리적 뷰 메타데이터 | 뷰 정의 및 리프레시 속성 확인 |
| DBA_MVIEWS | DB 전체의 물리적 뷰 정보 | DBA 권한 필요, 전체 시스템 분석 |
| ALL_MVIEW_LOGS | FAST 리프레시에 필요한 로그 테이블 정보 | 증분 리프레시 추적용 |
성능 최적화 전략
- 리프레시 방법 선택: 자주 변경되는 데이터는 ON COMMIT, 덜 자주 변경되면 ON DEMAND
- FAST 리프레시 구성: MV 로그 생성 및 기본 테이블 구성 필수
- 리프레시 스케줄링: DBMS_MVIEW.REFRESH를 활용해 주기적 리프레시 자동화
- 쿼리 최적화: 복잡한 조인과 집계는 사전에 계산된 MV로 처리
- BUILD DEFERRED 전략: 대용량 테이블에 대해 MV를 나중에 생성하여 부하 최소화
실무 활용 사례
한 유통사의 데이터 웨어하우스 시스템에서는 매출 통계 데이터를 빠르게 집계하기 위해 다수의 물리적 뷰를 활용하고 있었습니다. 그러나 리프레시 시간이 오래 걸리고 시스템 자원을 과도하게 사용하는 문제가 발생했습니다.
- ALL_MVIEWS 뷰를 통해 모든 MV의 리프레시 방식과 쿼리 구조 파악
- 증분 리프레시(Fast Refresh)가 가능한 구조로 재설계
- MV 로그를 생성하고 리프레시를 스케줄 기반으로 전환
- 쿼리 리팩토링으로 MV 정의 간소화
그 결과 리프레시 시간이 평균 70% 단축되었으며, 보고서 생성 속도 또한 획기적으로 향상되었습니다.
결론
ALL_MVIEWS는 Oracle 물리적 뷰의 정의 및 리프레시 동작을 관리하는 데 있어 가장 핵심적인 뷰입니다. 데이터 집계, 성능 향상, 비동기화 환경 관리 등에 필수적인 역할을 하며, 이 뷰를 통해 MV 상태를 실시간으로 점검하고 전략적으로 최적화할 수 있습니다. 특히 대규모 분석 시스템을 운영하는 DBA 및 개발자에게 필수적인 도구입니다.
출처
- Oracle Database Reference: https://docs.oracle.com/en/database/
- Oracle Data Warehousing Guide 21c
- DBA 실무 운영 사례 기반 자료
'Database > Oracle' 카테고리의 다른 글
| [ORACLE] ALL_MVIEW_ANALYSIS 완전 정복 : MV 리라이팅 분석과 활용 전략 (0) | 2025.06.24 |
|---|---|
| [ORACLE] ALL_MVIEW_AGGREGATES 완벽 분석 : 물리적 뷰 집계 함수 추적과 최적화 전략 (0) | 2025.06.24 |
| [ORACLE] ALL_METHOD_RESULTS 완벽 가이드 : 메서드 반환 타입의 모든 것 (0) | 2025.06.24 |
| [ORACLE] ALL_METHOD_PARAMS 완전 정복 : 메서드 파라미터 관리의 핵심 (0) | 2025.06.24 |
| [ORACLE] ALL_LIBRARIES 뷰 실무 활용 가이드 (0) | 2025.06.24 |