본문 바로가기
728x90

Database/Oracle581

[ORACLE] USER_SUBPART_HISTOGRAMS 뷰로 히스토그램 기반 서브파티션 최적화하기 1. USER_SUBPART_HISTOGRAMS란?USER_SUBPART_HISTOGRAMS는 Oracle DB에서 사용자 소유 서브파티션 컬럼에 대한 히스토그램 통계 정보를 저장하는 데이터 딕셔너리 뷰입니다. 이 정보는 SQL 옵티마이저가 데이터 분포 특성을 기반으로 정확한 실행 계획을 수립할 수 있도록 지원합니다.2. 히스토그램의 중요성히스토그램은 컬럼 값의 분포 상태를 세분화하여 저장함으로써, 옵티마이저가 일반 통계만으로는 판단할 수 없는 편향된 데이터 분포를 고려할 수 있게 해줍니다.빈도 기반 히스토그램 (Frequency)높이 균등 히스토그램 (Height-balanced)Top-N 히스토그램 (12c 이상)Hybrid 히스토그램 (18c 이상)3. 주요 컬럼 설명컬럼명설명TABLE_NAME통계.. 2025. 8. 7.
[ORACLE] USER_SUBPART_COL_STATISTICS로 파티션 컬럼 통계 완전 분석 1. USER_SUBPART_COL_STATISTICS란?USER_SUBPART_COL_STATISTICS는 Oracle 데이터베이스에서 사용자 소유의 서브파티션 테이블에 대한 컬럼별 통계 정보를 저장한 뷰입니다. 이 뷰는 옵티마이저가 쿼리 실행 계획을 결정할 때 참조하는 데이터로, 성능 최적화에 필수적인 역할을 합니다.2. 사용 목적쿼리 최적화: 옵티마이저가 효율적인 실행 계획을 수립하기 위한 기준 제공파티션 단위 튜닝: 각 서브파티션의 통계 정보를 기준으로 성능 병목 구간 진단스케일 아웃 전략 수립: 파티션 통계에 기반한 테이블 구조 개선 방향 제시3. 주요 컬럼 설명컬럼명설명TABLE_NAME통계가 수집된 테이블 이름SUBPARTITION_NAME서브파티션 이름COLUMN_NAME대상 컬럼 이름NU.. 2025. 8. 7.
[ORACLE] USER_SOURCE 뷰 완전 해부와 실전 활용 전략 1. USER_SOURCE란?USER_SOURCE는 Oracle 데이터베이스에서 현재 사용자(스키마)가 소유한 PL/SQL 객체의 소스 코드를 줄 단위로 저장하고 있는 데이터 딕셔너리 뷰입니다. 주로 프로시저, 함수, 트리거, 패키지 등의 코드를 조회하거나 분석할 때 사용됩니다.2. 주요 용도PL/SQL 디버깅: 트리거나 패키지의 로직을 추적할 때 유용소스코드 감사: 보안 감사 또는 코드 변경 이력 검토용자동 문서화: 외부 시스템에 소스코드 자동 백업 및 문서화 프로세스 구축3. 주요 컬럼 설명컬럼명설명NAME소스코드가 포함된 객체 이름 (예: 프로시저, 함수 등)TYPE객체 유형 (PROCEDURE, FUNCTION, PACKAGE 등)LINE소스코드의 줄 번호TEXT각 줄의 실제 소스 코드 텍스트4... 2025. 8. 7.
[ORACLE] USER_SNAPSHOT_REFRESH_TIMES 뷰 완전 해부 및 활용법 1. USER_SNAPSHOT_REFRESH_TIMES란?USER_SNAPSHOT_REFRESH_TIMES는 Oracle 데이터베이스에서 사용자 소유의 매터라이즈드 뷰(MV, Materialized View)가 마지막으로 리프레시(refresh)된 시점을 기록하는 데이터 딕셔너리 뷰입니다. 해당 정보는 MV 동기화 상태 및 최신 데이터 여부를 파악할 때 매우 유용합니다.2. 주요 용도 및 필요성매터라이즈드 뷰의 최신성 확인: 실시간 데이터와 MV 간 싱크가 맞는지 검증리프레시 스케줄 진단: 자동/수동 리프레시 주기의 실행 여부 점검성능 분석 자료 확보: MV 리프레시가 얼마나 자주 실행되었는지 기록 추적3. 주요 컬럼 설명컬럼명설명NAME매터라이즈드 뷰(MV)의 이름LAST_REFRESH_DATE마지막 .. 2025. 8. 7.
[ORACLE] USER_SNAPSHOT_LOGS 뷰의 의미와 실전 활용 가이드 1. USER_SNAPSHOT_LOGS란?USER_SNAPSHOT_LOGS는 Oracle 데이터베이스에서 DBMS_STATS 패키지를 통해 수집된 통계 정보의 히스토리를 저장하는 뷰입니다. 이는 특히 DBA나 데이터 분석 담당자에게, 데이터 수집 작업이 언제 수행되었고 어떤 테이블에 영향을 주었는지에 대한 추적이 가능하도록 도와줍니다. 이 뷰는 USER_ 접두사가 붙은 뷰이므로, 현재 접속한 사용자 소유의 객체만을 보여주며, 시스템 전체의 정보를 보기 위해선 DBA_SNAPSHOT_LOGS나 ALL_SNAPSHOT_LOGS를 사용할 수 있습니다.2. 주요 컬럼 설명컬럼명설명TABLE_NAME통계 정보가 수집된 대상 테이블 이름START_TIME수집 작업 시작 시각END_TIME수집 작업 종료 시각STAT.. 2025. 8. 7.
[ORACLE] USER_SNAPSHOTS 완전 해설 : 사용자 스냅샷(MView) 정보와 동기화 분석 Oracle 스냅샷(Snapshot)은 현재는 Materialized View (MView)라는 명칭으로 통합되었으며, 원격 또는 로컬 데이터의 복제본을 저장하고 정기적으로 갱신하는 방식으로 사용됩니다. USER_SNAPSHOTS 뷰는 사용자가 생성한 MView 객체에 대한 상태 및 동기화 정보를 제공합니다. 본 문서에서는 USER_SNAPSHOTS 뷰의 구조, 사용 목적, 실무 적용 사례를 중심으로 Oracle 복제 환경에서의 역할을 명확히 이해할 수 있도록 설명합니다.1. USER_SNAPSHOTS 뷰란?USER_SNAPSHOTS는 사용자가 소유한 Materialized View에 대한 메타데이터 정보를 제공하는 Oracle 데이터 딕셔너리 뷰입니다. 스냅샷의 쿼리 정의, 갱신 방식, 최신 동기화 시.. 2025. 8. 6.
728x90