본문 바로가기
Database/Oracle

[ORACLE] USER_REFRESH : Materialized View 자동 리프레시 관리 전략

by Papa Martino V 2025. 7. 19.
728x90

Materialized View 자동 리프레시 관리 전략
[ORACLE] USER_REFRESH

 

Oracle의 Materialized View (MV)는 원본 테이블의 데이터를 일정 주기마다 복제하여 조회 성능을 획기적으로 향상시키는 기능입니다. 이 MV가 최신 상태를 유지하기 위해서는 정기적인 Refresh가 필요합니다. 이를 효율적으로 관리하기 위해 Oracle은 DBMS_REFRESH 패키지와 함께 USER_REFRESH라는 데이터 딕셔너리 뷰를 제공합니다. 이 글에서는 USER_REFRESH 뷰의 구조, 활용 전략, 성능 개선 사례를 중심으로 실전 노하우를 공유합니다.

1. USER_REFRESH란?

USER_REFRESH는 현재 사용자 스키마에서 정의된 Refresh Group의 정보를 보여주는 Oracle Dictionary View입니다. 하나 이상의 MV가 포함된 그룹 단위로 리프레시를 예약해 성능과 리소스를 효율적으로 관리할 수 있으며, 이 뷰를 통해 스케줄 주기, 마지막 리프레시 시점, 상태 등을 실시간으로 모니터링할 수 있습니다.

2. 주요 컬럼 설명

컬럼명 설명
NAME Refresh Group 이름
NEXT_DATE 다음 리프레시 예정 시각
INTERVAL 리프레시 주기 표현식 (예: SYSDATE + 1/24)
BROKEN 스케줄 오류 여부 (Y/N)
JOB 해당 Refresh를 수행하는 DBMS_JOB 번호
FAILURES 최근 연속 실패 횟수
LAST_DATE 마지막 성공 리프레시 일시

3. USER_REFRESH 조회 예시

-- 등록된 Refresh Group 및 상태 확인
SELECT name, next_date, interval, broken, failures
FROM user_refresh;

-- 실패한 리프레시 확인
SELECT name, job, failures
FROM user_refresh
WHERE broken = 'Y' OR failures > 0;
  

4. USER_REFRESH vs USER_MVIEW 비교

기능 항목 USER_REFRESH USER_MVIEWS
주요 목적 Refresh 스케줄 그룹 관리 MV 정의 및 속성 확인
시간 정보 NEXT_DATE, LAST_DATE LAST_REFRESH_DATE
문제 진단 BROKEN 및 FAILURES 확인 REFRESH_METHOD, BUILD_MODE 분석

5. 실무 활용 전략

  • 스케줄 주기 최적화: INTERVAL 컬럼 활용하여 비업무 시간대에 리프레시 수행
  • 장애 감지 자동화: BROKEN = 'Y' 또는 FAILURES > 0 조건 알림 시스템에 연동
  • Job 관리: JOB 번호 기반으로 DBA_JOBS 또는 DBMS_JOB API로 관리
  • Group 관리: 관련된 MV들을 하나의 Group으로 묶어 동시에 리프레시하여 부하 최소화

6. 리프레시 장애 원인 및 해결 방안

문제 원인 해결 방법
리프레시 실패 네트워크 오류 또는 소스 테이블 잠김 MV 로그 및 DBMS_JOB 오류 로그 분석
리프레시 지연 인터벌 설정 오류 INTERVAL 식 점검 및 재등록
BROKEN 상태 반복된 실패로 자동 중지 DBMS_JOB.BROKEN(job, FALSE)로 복구

7. 결론

USER_REFRESH 뷰는 Oracle의 Materialized View 환경에서 스케줄 기반 동기화를 관리하는 데 핵심적인 역할을 합니다. 성능 최적화와 시스템 안정성을 유지하기 위해서는 리프레시 그룹의 동작 상태를 정기적으로 모니터링하고, 장애 시 즉시 대응하는 체계를 갖추는 것이 필수입니다. 특히 대규모 보고서 시스템이나 외부 데이터 연동 환경에서는 MV Refresh 전략이 시스템 전반의 효율을 결정짓는 중요한 요소가 됩니다.


출처:

  • Oracle Database PL/SQL Packages and Types Reference (DBMS_REFRESH)
  • Oracle Materialized Views Best Practices Guide
  • 기업 환경에서의 MV 동기화 장애 대응 사례
728x90