◆ 데이터 딕셔너리
- 시스템 테이블스페이스에 저장되어 있다.
- SYS계정이 소유하고 있다.
- 오라클 서버(서버프로세스)에 의해 관리된다.
- 사용자는 단지 select만 가능하다.
- 안의 내용을 변경하고 싶다면 alter system set 명령어를 날려 서버프로세스에게 부탁해야 한다.
- DDL 문장이 실행되면 오라클 서버가 변경한다.
- 사용자와 DBA는 단지 읽기만 가능하다.
- 딕셔너리를 조회하려면 무조건 DB는 오픈상태에 있어야 한다.
- 딕셔너리 뷰는 정적이다.
데이터 딕셔너리는 두 부분으로 나뉘는데 원본 테이블과 데이터 딕셔너리 뷰이다. 원본 테이블은 너무 중요해서 우리가 볼 수 없으므로 딕셔너리 뷰를 통해 알 수 있다.
오라클 설치시 DBCA로 DB를 생성하면 딕셔너리 뷰도 같이 생성되는데, 수동으로 DB를 생성하면 기본적으로 딕셔너리 뷰를 안만든다. 그래서 마지막에 catalog.sql 스크립트를 실행시켜줘야 딕셔너리 뷰를 생성한다.
◆ 수동으로 DB 생성시 필수로 실행시켜줘야 하는 스크립트
- catalog.sql
- catproc.sql
◆ 데이터 딕셔너리에 있는 내용
딕셔너리에는 DB운영에 필요한 정보들이 들어있다.
- 논리적, 물리적 데이터베이스 구조
- 오브젝트들의 정의와 공간 할당
- 무결성 제약조건
- 사용자
- 롤
- 권한
- 감사
◆ 데이터 딕셔너리 뷰의 세가지 범주
- DBA_xxx : 데이터베이스의 모든 오브젝트들을 볼 수 있다.
- ALL_xxx : 자기가 만든 것과 허용 가능한 것들을 볼 수 있다.
- USER_xxx : 자기가 만든 것만 볼 수 있다.
◆ 자주 사용되는 데이터 딕셔너리
- DBA_TABLESPACES
- DBA_DATA_FILES
● 스키마 오브젝트 관련
- DBA_TABLES
- DBA_INDEXES
- DBA_TAB_COLUMNS
- DBA_CONSTRAINTS
◆ 데이터 딕셔너리는 정적?
SQL> create table test (no number);
SQL> insert into test values (1);
SQL> commit;
test테이블에 내용이 있는 것을 확인.
SQL> select count(*) from test;
test테이블에 대한 로우 수, 블록 수, 빈 블록을 조회했는데 내용이 비었다.
SQL> select num_rows, blocks, empty_blocks
from user_tables
where table_name = 'TEST';
수동으로 정보를 갱신한다.
SQL> analyze table test compute statistics;
이제 정보가 나온다.
SQL> select num_rows, blocks, empty_blocks
from user_tables
where table_name = 'TEST';
SQL> delete from test;
SQL> commit;
테이블을 지웠는데도 관련 정보는 아직 남아있다.
SQL> select num_rows, blocks, empty_blocks
from user_tables
where table_name = 'TEST';
수동으로 정보를 갱신한다.
SQL> analyze table test compute statistics;
이제 정보가 나온다.
SQL> select num_rows, blocks, empty_blocks
from user_tables
where table_name = 'TEST';
◆ 동적 성능 뷰
- 가상 테이블이다.
- 딕셔너리 뷰와는 달리 메모리와 컨트롤파일에서 정보를 꺼내오기 때문에 노마운트나 마운트 상태에서도 조회가 가능함.
- v$로 시작한다.
◆ 자주 사용되는 동적 성능 뷰
V$DATABASE
V$DATAFILE
V$INSTANCE
V$PARAMETER
V$SESSION
V$SGA
V$SPPARAMETER
V$TABLESPACE
V$THREAD
V$VERSION
'오라클 > Admin' 카테고리의 다른 글
[Admin] Tablespace and Datafiles (0) | 2010.08.30 |
---|---|
[Admin] Redo Log File (0) | 2010.08.28 |
[Admin] Control File (0) | 2010.08.26 |
[Admin] Startup과 Shutdown (0) | 2010.08.26 |
[Admin] Parameter File (0) | 2010.08.26 |