데이터 딕셔너리는 사용자와 시스템 자원을 효율적으로 관리하기 위한 다양한 시스템 정보를 저장하고 있다.
  - 데이터베이스의 물리적 구조와 객체의 논리적 구조
  - 오라클 사용자 이름과 스키마 객체 이름
  - 사용자에게 부여된 접근 권한과 롤
  - 무결성 제약 조건에 대한 정보
  - 컬럼별로 지정된 기본값
  - 스키마 객체에 할당된 공간의 크기와 사용중인 공간의 크기 정보
  - 객체 접근 및 갱신에 대한 감사 정보
  - 데이터베이스 이르, 버전, 생성 날짜, 시작 모드, 인스턴스 이름 정보

SYS> select count(*) from dictionary;

  COUNT(*)
----------
      1875
오라클을 운영하는데 필요한 호적같은 정보들을 가지고 있는 테이블들.

딕셔너리는 사람의 뇌와 같다. 딕셔너리 정보가 날아가면 해당 DB의 데이터는 살리지 못한다.

사용자가 직접 딕셔너리의 정보를 변경할 수는 없다. 만약 바꾸고 싶다면 오라클에게 시켜야 한다. 우리가 무의식적으로 테이블을 생성시 DDL을 날리거나 하면 오라클의 서버프로세스가 딕셔너리의 내용을 업데이트 시켜준다.



딕셔너리는 기본적으로 4개의 등급으로 나뉜다.


<Static>
● USER_
  - 자신이 생성한 테이블, 인덱스, 뷰, 동의어 등과 같은 객체나 해당 사용자에게 부여된 권한 정보를 조회할 수 있다. 즉, 현재 로그인해 있는 사용자가 자기가 만든 것만 볼 수 있다.(자기소유)
  - 위 예에서 scott은 자신의 것인 A, B만 볼 수 있다.

● ALL_
  - 현재 접속한 계정이 조회 가능한 모든 객체를 볼 수 있다.(자기소유 + 접근가능)
  - 위 예에서 scott은 자신의 것인 A, B와 접근가능한 hr 계정의 C를 볼 수 있다.

● DBA_
  - DBA나 SELECT ANY TABLE권한을 가진 사용자만 접근 가능하다.(모든것)
  - 모든 테이블을 볼 수 있다.

<Dynamic>
● v$
  - 실시간으로 조회 가능.



◆ 사용자 테이블 정보 조회
 ◇ USER_TABLES
  - 테이블이 저장된 테이블스페이스 이름, 데이터가 저장된 물리적 공간 그리고 블록 파라미터 정보 등이 저장된다.

 ◇ USER_OBJECTS
  - 사용자가 생성한 테이블 정보와 함께 인덱스, 시퀀스, 동의어, 뷰 등과 같은 객체에 대한 이름, 종류, 생성날짜 등의 정보를 저장한다.
 
 ◇ USER_CATALOG
  - 사용자 소유로 생성된 모든 객체 이름과 객체 종류에 대한 정보를 저장한다.

'오라클 > SQL' 카테고리의 다른 글

[SQL] Index  (0) 2010.08.24
[SQL] View  (0) 2010.08.24
[SQL] DDL(Data Definition Language)  (0) 2010.08.19
[SQL] TCL(Transaction Control Language)  (0) 2010.08.19
[SQL] DML(Data Manipulation Language)  (0) 2010.08.19
Posted by 겨울섬
,