728x90

1. USER_SNAPSHOT_REFRESH_TIMES란?
USER_SNAPSHOT_REFRESH_TIMES는 Oracle 데이터베이스에서 사용자 소유의 매터라이즈드 뷰(MV, Materialized View)가 마지막으로 리프레시(refresh)된 시점을 기록하는 데이터 딕셔너리 뷰입니다. 해당 정보는 MV 동기화 상태 및 최신 데이터 여부를 파악할 때 매우 유용합니다.
2. 주요 용도 및 필요성
- 매터라이즈드 뷰의 최신성 확인: 실시간 데이터와 MV 간 싱크가 맞는지 검증
- 리프레시 스케줄 진단: 자동/수동 리프레시 주기의 실행 여부 점검
- 성능 분석 자료 확보: MV 리프레시가 얼마나 자주 실행되었는지 기록 추적
3. 주요 컬럼 설명
| 컬럼명 | 설명 |
|---|---|
| NAME | 매터라이즈드 뷰(MV)의 이름 |
| LAST_REFRESH_DATE | 마지막 리프레시가 완료된 날짜 및 시간 |
| LAST_REFRESH_TYPE | 리프레시 유형 (COMPLETE, FAST 등) |
| LAST_REFRESH_MODE | 리프레시 모드 (MANUAL, AUTOMATIC) |
4. 실전 활용 예제
다음 쿼리는 최근 일주일 내에 수동으로 리프레시된 MV 목록을 출력합니다.
SELECT NAME, LAST_REFRESH_DATE, LAST_REFRESH_TYPE, LAST_REFRESH_MODE
FROM USER_SNAPSHOT_REFRESH_TIMES
WHERE LAST_REFRESH_DATE >= SYSDATE - 7
AND LAST_REFRESH_MODE = 'MANUAL';
5. 매터라이즈드 뷰 관련 뷰 비교
| 뷰 이름 | 주요 정보 | 특징 |
|---|---|---|
| USER_SNAPSHOTS | MV 정의 및 기본 정보 | MV 구조, 쿼리 텍스트 등 |
| USER_MVIEW_REFRESH_TIMES | MV의 리프레시 이력 | DBMS_MVIEW 관련 |
| USER_SNAPSHOT_REFRESH_TIMES | 마지막 리프레시 시점 | 리프레시 방식 및 결과 추적 |
6. 고급 활용 팁
- 성능 튜닝: 리프레시 시간이 오래 걸리는 MV는
FAST REFRESH로 전환 고려 - 모니터링 자동화: LAST_REFRESH_DATE를 기준으로 1일 이상 미실행된 MV를 자동 알림 시스템과 연계 가능
- ETL 연동: 매일 밤 리프레시 후 동기화 여부를 체크하여 데이터 웨어하우스 품질 확보
7. 결론
USER_SNAPSHOT_REFRESH_TIMES는 복잡한 ETL 또는 보고 체계 속에서 매터라이즈드 뷰가 얼마나 신뢰할 수 있는 데이터를 가지고 있는지를 판단하는 핵심적인 도구입니다. 자동화된 스케줄링 시스템이나 실시간 리포팅 환경에서, 이 뷰를 정기적으로 점검하는 루틴을 마련하는 것이 중요합니다.
참고 자료
- Oracle® Database Data Warehousing Guide 21c
- Oracle Help Center: https://docs.oracle.com/en/
- Materialized Views and Refresh Best Practices - Oracle Blogs
728x90
'Database > Oracle' 카테고리의 다른 글
| [ORACLE] USER_SUBPART_COL_STATISTICS로 파티션 컬럼 통계 완전 분석 (0) | 2025.08.07 |
|---|---|
| [ORACLE] USER_SOURCE 뷰 완전 해부와 실전 활용 전략 (0) | 2025.08.07 |
| [ORACLE] USER_SNAPSHOT_LOGS 뷰의 의미와 실전 활용 가이드 (0) | 2025.08.07 |
| [ORACLE] USER_SNAPSHOTS 완전 해설 : 사용자 스냅샷(MView) 정보와 동기화 분석 (0) | 2025.08.06 |
| [ORACLE] USER_SEQUENCES 완전 해설 : 시퀀스 속성과 자동 증가 키 관리의 핵심 (0) | 2025.08.06 |