728x90

Oracle에서 메타데이터 및 성능 정보를 조회할 때 흔히 사용하는 뷰는 크게 다음 두 종류가 있습니다.

  1. V$로 시작하는 뷰 (Dynamic Performance Views)
  2. DBA_로 시작하는 뷰 (Dictionary Views)
1. V$ 뷰 (동적)

 

주요 특징

  • 동적 성능 정보: 디스크에 저장된 정적인 메타데이터가 아니라,
    주로 메모리에 저장실시간(혹은 근접한) 성능 정보를 제공합니다.
  • 시스템 상태 모니터링: 예를 들어, 현재 세션(V$SESSION), SGA 정보(V$SGA), SQL 실행 현황(V$SQLAREA, V$SQL_PLAN) 등 실시간 상태 파악에 유용합니다.

구현 방식

  • 내부적으로 X$ 뷰(익스텐션 뷰)를 기반으로 하는 시노님(Synonym) 형태
  • 즉 V$로 시작하는 뷰는 실제로 OS 레벨 메모리 구조(SGA 등)에서 정보를 가져오는 X$ 구조를 참조하여 표시합니다.
2. DBA_ 뷰 (정적)

 

주요 특징

  • 디스크에 저장된 메타데이터: 오브젝트(테이블, 인덱스, 뷰 등) 정의, 사용자, 권한, 파티션, 스토리지 등에 대한 정보를 포함
  • 전체 DB 대상: DBA_ 뷰는 DBA 권한을 가진 사용자가 데이터베이스 전역에 대해 조회할 수 있는 정보(다른 사용자 스키마 포함)를 보여줍니다. 예: DBA_TABLES, DBA_INDEXES, DBA_USERS 등
  • 관계형 구조: 디스크에 저장된 ‘데이터 사전(Data Dictionary)’ 테이블을 기반으로 하므로, 상대적으로 정적이고 구조적입니다.

다른 접두사와 비교

  • ALL_: 현재 사용자가 접근 권한을 가진 오브젝트만 보여줍니다.
  • USER_: 현재 사용자가 소유한 오브젝트만 보여줍니다.
  • DBA_: DBA가 전체 데이터베이스 범위에서 볼 수 있는 모든 오브젝트 정보를 보여줍니다.
3. 사용 목적 비교

 

V$ 뷰

  • 실시간 모니터링, 성능 진단: DB 동작 상태(세션, 세그먼트, 락, SQL 등)를 실시간으로 파악하고, 튜닝 또는 문제 대응에 활용
  • SGA, PGA, SQL 실행 등 동적인 상태 정보 분석에 주로 사용

DBA_ 뷰

  • 구조적 관리, 보안 및 권한 확인: 테이블, 인덱스, 컬럼, 사용자, 롤(Role), 권한(Privilege) 등 데이터 사전에 등록된 메타데이터를 조회
  • DDL 분석 및 유지보수: 예를 들어, 테이블 스페이스 사용량, 객체 존재 여부, 파티션 구조 등을 확인해 오브젝트를 관리
728x90