728x90

Data Dictionary라 불리는 데이터 사전은 Oracle Database내 저장된 모든 객체의 정보를 제공하며, Select 명령문을 통해 테이블에 명령문을 통해 테이블에 저장된 데이터를 볼 수 있다. 

데이터 사전이 사용되는 세가지 주요 사항은 다음과 같다.

■ 오라클은 사용자, 스키마 객체, 저장 구조에 관한 정보를 찾기 위해 데이터 사전을  액세스한다.
■ 오라클은 데이터 정의문(DDL)이 발생할 때마다 데이터 사전을 변경시킨다.
■ 오라클 사용자는 데이터베이스에 관한 정보를 읽기 전용으로 참고하기 위해 데이터 사전을 사용한다.


 ○ 데이터사전 분류

  카테고리
설명
USER_
한 특정 사용자에게 종속되어 있고 그 사용자가 조회 가능한 데이터 사전 뷰
ALL_
한 특정 사용자가 조회 가능한 모든 데이터 사전 뷰
DBA_
데이터베이스 관리를 위한 정보를 제공

 

○ 유용한데이터사전

구분 테이블명 설명
오브젝트 USER_OBJECTS (OBJ) 모든 오브젝트에 대한 정보를 지원 오즈젝트 유형, 작성시간, 오브젝트에 사용된 최종 DDL 명령, alter, grant 및 revoke 등
테이블 USER_TABLES (TABS) 테이블에 대한 정보
USER_TAB_COLUMNS (COLS) 컬럼에 대한 정보
USER_VIEWS 뷰에 대한 정보
동의어 USER_SYNONYMS (SYN)
시퀀스 USER_SEQUENCES (SEQ)
제약조건 USER_CONSTARINTS  
제약조건열 USER_CONS_COLUMNS 제약 조건을 가진 열에 대한 정보
제약조건의 예외사항 EXCEPTIONS 제약조건을 활성화시 에러사항에 대한 정보
테이블 주석 USER_TAB_COMMENTS 테이블/뷰에 대한 주석
열 주석 USER_COL_COMMENTS 열에 대한 주석
인덱스 USER_INDEXES (IND) ( 인덱스에 관한 정보)
인덱스 열 USER_IND_COLUMNS 인덱스열에 대한 정보
클러스터 USER_CLUSTERS (CLU) 클러스터와 관련된 정보
데이터베이스 링크 USER_DB_LINKS 링크에 관련된 정보
스냅샷 USER_SNAPSHOTS  
스냅샷 로그 USER_SNAPSHOT_LOGS  
트리거 USER_TRIGGERS  
프로시저, 함수 및 패키지 USER_SOURCE  
코드 오류 USER_ERRORS  
테이블스페이스 USER_TABLESPACES  
영역 할당량 USER_TS_QUOTAS 테이블스레이스 단위로 사용자가 이용할 수 있는 영역의 최대크기와 할당된 영역의 크기 파악에 대한 정보
세그먼트와 익스텐트 USER_SEGMENTS
USER_EXTENTS
 
여유 영역 USER_FREE_SPACE 현재 여유로 표시된 영역이 얼마인지에 대한 정보
사용자 USER_USERS  
자원 제한량 USER_RESOURCE_LIMITS  
테이블 권한 USER_TAB_PRIVS  
열 권한 USER_COL_PRIVS  
시스템 권한 USER_SYS_PRIVS  

 

EX)

그럼 SEQUENCE정보를 알고 싶을때는 어떻하면 될까요?

SELECT * FROM USER_SEQUENCES

 

참고)  

DICTIONARY(DICT) 뷰

     - 데이터 사전 및 동적 성능 뷰에 대한 정보를 알고 싶으면 DICTIONARY 뷰나

         DICT_COLUMNS 뷰를 조회하면 됩니다.

 

      - 조회 할 수 있는 모든 데이터사전의 테이블이름과 설명을 조회 할 수 있습니다.

         물론 설명은 영문으로 되어 있습니다.

 

      - 동의어인 DICT를 이용해서도 똑같은 정보를 조회 할 수 있습니다.

 

     SQL> SELECT * FROM DICTIONARY WHERE table_name LIKE '%INDEX%';

     SQL> SELECT * FROM DICT WHERE table_name LIKE '%INDEX%';

 

 

DICT_COLUMNS 뷰

       - 뷰를 질의하면 해당 데이터사전의 컬럼에대한 정보를 조회 할 수 있습니다.

        SQL> SELECT * FROM DICT_COLUMNS WHERE TABLE_NAME LIKE '%INDEX%';

        SQL>SELECT * FROM dict WHERE table_name LIKE UPPER('%&데이타사전%');


출처 : http://simmys.tistory.com/category/DataBase/Oracle

'데이터베이스 > 오라클' 카테고리의 다른 글

오라클 NLS_LANG 설정변경  (0) 2010.08.16
Oracle 시스템정보보기 관련 쿼리  (0) 2010.08.16
View, Sequence, Synonym, Index  (0) 2010.08.16
인덱스 저장위치 설정  (0) 2010.08.16
P/L SQL PACKAGE  (0) 2008.08.18

+ Recent posts