Notice
Recent Posts
Recent Comments
Link
«   2026/04   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
Archives
Today
Total
관리 메뉴

JYEONNI

oracle Data Dictionary view 본문

Oracle DB

oracle Data Dictionary view

져니꿍 2023. 11. 5. 20:02
728x90


Oracle 데이터베이스에서 데이터 딕셔너리 뷰(Database Dictionary Views)로 불리는 다양한 뷰 유형이 있습니다. 이러한 뷰들은 데이터베이스 객체 및 메타데이터 정보를 쿼리할 때 사용됩니다. 각 뷰 유형에는 사용자 권한과 범위에 따라 다른 정보가 포함되어 있습니다. 다음은 각 뷰 유형의 차이점을 설명합니다:

DBA 뷰 (Database DBA Views):
DBA_ 접두사가 있는 뷰로, 데이터베이스 전체의 메타데이터 정보를 포함합니다. 
DBA 뷰에 액세스하려면 DBA 권한이 필요하며, 일반 사용자는 이 뷰에 액세스할 수 없습니다.
데이터베이스의 모든 객체와 메타데이터 정보를 조회할 수 있으므로 데이터베이스 관리자 및 DBA 역할에 의해 사용됩니다.

DBA_OBJECTS:
데이터베이스 내의 모든 객체(테이블, 뷰, 인덱스, 프로시저 등)에 대한 정보를 제공합니다. 객체 이름, 소유자, 유형 등을 포함합니다.
DBA_TABLES:
모든 테이블에 대한 정보를 제공합니다. 테이블 이름, 소유자, 크기, 파티션 등의 정보를 확인할 수 있습니다.
DBA_USERS:
데이터베이스 사용자에 대한 정보를 제공합니다. 사용자 이름, 권한, 잠긴 상태, 생성 일자 등을 포함합니다.
DBA_ROLES:
데이터베이스 역할에 대한 정보를 제공합니다. 역할 이름, 부여된 사용자 등을 확인할 수 있습니다.
DBA_TAB_COLUMNS:
테이블의 열(컬럼) 정보를 제공합니다. 테이블 이름, 열 이름, 데이터 유형, 크기 등을 확인할 수 있습니다.
DBA_CONSTRAINTS:
제약 조건(Primary Key, Foreign Key, Unique 등)에 대한 정보를 제공합니다. 제약 조건 이름, 유형, 테이블 등을 확인할 수 있습니다.
DBA_SEGMENTS:
데이터베이스 세그먼트에 대한 정보를 제공합니다. 세그먼트 이름, 유형, 크기, 사용 여부 등을 확인할 수 있습니다.
DBA_DATA_FILES:
데이터 파일에 대한 정보를 제공합니다. 데이터 파일 이름, 경로, 크기, 사용 여부 등을 포함합니다.
DBA_FREE_SPACE:
데이터 파일 내의 빈 공간에 대한 정보를 제공합니다. 데이터 파일, 빈 공간 크기, 테이블 스페이스 등을 확인할 수 있습니다.
DBA_SYS_PRIVS:
사용자게 부여된 시스템 권한에 대한 정보를 제공합니다. 권한 이름, 부여 대상 등을 확인할 수 있습니다.


V$ 뷰 (Dynamic Performance Views):
V$ 접두사가 있는 뷰로, 데이터베이스의 동적 성능 정보를 포함합니다.
데이터베이스의 상태 및 활동에 대한 정보를 제공하며, 성능 모니터링과 디버깅에 유용합니다.
일반 사용자도 이 뷰에 대한 읽기 권한을 가질 수 있습니다.

예시: V$SESSION
V$SESSION 뷰는 현재 실행 중인 세션에 관한 정보를 제공합니다. 이 뷰는 데이터베이스의 동적 성능 정보를 제공하며 모든 사용자가 읽을 수 있습니다.
사용자는 세션 관련 정보를 쿼리하여 현재 실행 중인 세션의 상태를 확인할 수 있습니다.

V$SQL:
SQL 문장에 대한 정보를 제공합니다. SQL 문장, 실행 횟수, 소요 시간, 로우 수 등을 확인할 수 있습니다.
V$LOCK:
데이터베이스에서 현재 락(잠금) 상태를 나타냅니다. 락 유형, 락 홀더, 대상 등의 정보를 포함합니다.
V$BUFFER_POOL:
데이터베이스 버퍼 풀의 상태와 성능 관련 정보를 제공합니다. 버퍼 캐시 목표, 히트 비율 등을 확인할 수 있습니다.
V$DATAFILE:
데이터 파일에 대한 정보를 제공합니다. 데이터 파일 경로, 크기, 상태 등을 포함합니다.
V$TABLESPACE:
테이블 스페이스에 대한 정보를 제공합니다. 테이블 스페이스 이름, 상태, 크기 등을 확인할 수 있습니다.
V$INSTANCE:
데이터베이스 인스턴스에 대한 정보를 제공합니다. 인스턴스 이름, 버전, 상태 등을 포함합니다.
V$SGA:
시스템 전역 영역 (SGA)의 크기 및 사용률에 대한 정보를 제공합니다.
V$SESSION_WAIT:
세션 대기 이벤트에 대한 정보를 제공합니다. 웨이트 이벤트, 웨이트 클래스, 웨이트 시간 등을 확인할 수 있습니다.
V$SQL_PLAN:
SQL 실행 계획 정보를 제공합니다. SQL 문장의 실행 계획, 비용, 통계 등을 확인할 수 있습니다.


ALL 뷰 (All Objects Views):
ALL_ 접두사가 있는 뷰로, 현재 사용자가 접근할 수 있는 모든 객체와 메타데이터 정보를 포함합니다.
사용자가 접근 가능한 객체 및 메타데이터 정보를 조회하는 데 사용됩니다.
ALL 뷰를 통해 현재 사용자의 권한 내에서의 정보를 쿼리할 수 있습니다.

예시: ALL_TABLES
ALL_TABLES 뷰는 현재 사용자가 접근 가능한 모든 테이블에 대한 정보를 제공합니다. 사용자의 권한 내에서의 객체 정보를 조회하는 데 사용됩니다.
현재 사용자가 접근 가능한 테이블 목록을 조회할 수 있으며, 모든 사용자가 이 뷰를 쿼리할 수 있습니다


USER 뷰 (User Objects Views):
USER_ 접두사가 있는 뷰로, 현재 사용자가 소유한 객체와 메타데이터 정보를 포함합니다.
현재 사용자가 소유한 객체 및 메타데이터 정보를 조회하는 데 사용됩니다.
현재 사용자의 권한으로 조회되는 정보를 제공합니다.


요약하면, DBA 뷰는 전체 데이터베이스를 대상으로 하고 DBA 권한이 필요하며, V$ 뷰는 동적 성능 정보를 제공하며 모든 사용자가 읽을 수 있으며, ALL 뷰는 현재 사용자의 권한 내에서의 객체 정보를, USER 뷰는 현재 사용자가 소유한 객체 정보를 조회합니다. 이러한 뷰들은 데이터베이스 관리, 모니터링, 튜닝 및 보안과 관련된 다양한 작업에 유용합니다.

'Oracle DB' 카테고리의 다른 글

undo tablespace 파라미터 변경  (0) 2023.11.05
Oracle 버전별 메모리 관리기법  (0) 2023.11.05
V$TYPE_SIZE  (0) 2023.11.02
v$log 실습  (0) 2023.10.30
ORA-00265  (0) 2023.10.30