728x90
Oracle에서 메타데이터 및 성능 정보를 조회할 때 흔히 사용하는 뷰는 크게 다음 두 종류가 있습니다.
- V$로 시작하는 뷰 (Dynamic Performance Views)
- 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
'Database > Oracle' 카테고리의 다른 글
[Oracle] AWR 스냅샷 보관 일수(retention) / 수집 주기(interval) 설정 방법 (0) | 2025.03.11 |
---|---|
[Oracle] sql 파일에 인자(parameter)를 넣고 싶을 때(치환 변수 사용) (0) | 2025.03.07 |
[Oracle] 실행 계획 조회 뷰: v$sql_plan vs dba_hist_sql_plan (0) | 2025.03.06 |
[Oracle] 쉘에 SQL 쿼리문 결과값 출력하는 방법 (0) | 2025.03.04 |
[Oracle] Undo Extent의 동작 원리와 튜닝 요소 식별, 튜닝 방법 (0) | 2025.02.27 |