2024. 7. 1. 20:04ㆍDBMS/ORACLE Admin
System TBS에는 데이터 딕셔너리들이 저장되어 있기 때문에 tablespace가 손상될 경우 서버 시작이 되지 않는다.
딕셔너리 수
Data Dictionary는 Base Table(기본 테이블)과 Data Dictionary View(데이터 딕셔너리 뷰)로 구성되어 메타데이터를 저장하고 액세스한다.
Base Table은 DB를 생성할 때 생성되고 Data Dictionary View는 DBCA를 사용할 때는 자동 생성되고 수동으로 생성할 경우에는 Create Database 를 수행하고 catalog.sql 스크립트를 추가 실행해줘야 한다.
Base Table (기본 테이블)
기본 테이블은 데이터베이스의 메타데이터를 실제로 저장하는 테이블로 데이터베이스 객체(예: 테이블, 인덱스, 사용자, 권한 등)에 대한 정보가 포함된다.
- 생성 시점: 데이터베이스가 생성될 때 자동으로 생성된다.
- 접근 방법: 기본 테이블은 일반 사용자가 직접 접근할 수 없으며, 데이터 딕셔너리 뷰를 통해 간접적으로 접근한다.
Data Dictionary View (데이터 딕셔너리 뷰)
데이터 딕셔너리 뷰는 기본 테이블의 내용을 읽기 쉽게 제공하는 뷰이다. 사용자는 이러한 뷰를 통해 데이터베이스의 메타데이터를 조회할 수 있다.
- 생성 시점:
- DBCA(Oracle Database Configuration Assistant): DBCA를 사용하여 데이터베이스를 생성할 때 자동으로 생성된다.
- 수동 생성: 데이터베이스를 수동으로 생성할 경우, `catalog.sql` 스크립트를 실행하여 데이터 딕셔너리 뷰를 생성해야 한다. 이 스크립트는 데이터 딕셔너리 뷰를 설정하는 데 필요한 SQL 명령을 포함하고 있다.
- 예시 뷰: 대표적인 데이터 딕셔너리 뷰에는 `USER_TABLES`, `ALL_TABLES`, `DBA_TABLES`, `USER_OBJECTS`, `ALL_OBJECTS`, `DBA_OBJECTS` 등이 있다. 이 뷰들은 각각 다른 범위와 접근 권한을 제공한다.
데이터 딕셔너리 뷰를 사용하여 데이터베이스 객체 정보를 조회
-- 사용자가 소유한 모든 테이블을 조회
SELECT * FROM USER_TABLES;
-- 모든 사용자가 소유한 테이블을 조회
SELECT * FROM ALL_TABLES;
-- 데이터베이스 관리자(DBA)가 모든 테이블을 조회
SELECT * FROM DBA_TABLES;
데이터 딕셔너리 뷰 테스트
Static Dictionary이기 때문에 num row에 값이 없다.
딕셔너리 내용을 수동 업데이트 후 결과를 확인한다.
static dictionary는 내용이 즉각 반영되지 않는다
USER_
ALL_
DBA_
'DBMS > ORACLE Admin' 카테고리의 다른 글
tablespace 용량 문제 관리 - autoextend (0) | 2024.07.01 |
---|---|
블록 크기를 동적으로 조회하여 데이터 파일의 사용량을 모니터링 (0) | 2024.07.01 |
Checkpoint (0) | 2024.06.26 |
DATABASE BUFFER CACHE (0) | 2024.06.25 |
SEMAPHORE (0) | 2024.06.24 |