[Oracle] Data Dictionary(데이터 사전) Table 정의와 활용법과 꿀팁

데이터 사전이란?

데이터 사전은 데이터베이스 에 대한 관리, 메타 데이터를 제공하는 읽기 전용 테이블 세트 이다.

 

데이터 사전 종류와 특징

데이터 사전은 Base tables와 Views 로 구분된다. 

겉으로 들어나지 않는 Base Table은 데이터베이스에 대한 정보를 저장한다. 사용자는 이 테이블에 직접적으로 접근할일이 거의 없다. 왜냐하면 사용자는 정규화되고(normalized), 대부분 데이터가 암호화 된 형식으로 저장되기 때문이다.

View 는 Base Table의 데이터를 디코딩하고 join및 where절을 사용하여 유용한 정보로 만들고 정보를 단순화 한다. 이러한 View들은 데이터 사전에 있는 모든 객체의 이름과 설명이 포함된다. 

 

DICTIONARY 뷰를 조회하면 테이블명과 설명을 볼수 있다.

테이블명은 3가지 접두사로 이루어져 있는데 DBA, ALL, USER 이다.

DBA는 데이터베이스 관리자 시점에서 모든 객체에 접근할 수 있고, ALL은 모든 사용자에게 있는 객체 , USER는 현재 사용자에게 있는 객체에 접근한다. 

데이터 사전 Base Table과 View는 SYSTEM테이블 공간에 저장되고 항상 사용가능하다. 왜냐하면 SYSTEM 테이블은 데이터베이스를 킬때부터 항상 온라인이기 때문이다.

 

유용적인 데이터사전 View

USER_CATALOG : 사용자의 테이블, 뷰, Synonyms, 시퀀스를 조회 할 수 있다.

USER_TABLES : 사용자의 모든 테이블과 테이블의 자세한 정보를 알 수 있다.

USER_INDEXES : 사용자가 소유한 인덱스의 정보를 알 수 있다.

USER_TAB_COLUMNS : 사용자가 소유한 테이블과 테이블의 컬럼들의 자세한 정보를 알 수 있다.

USER_COL_COMMENTS : 사용자가 소유한 테이블명과 컬럼만을 조회한다.

USER_CONSTRAINTS : 제약조건을 조회한다.

 

Tip. 내 계정에서 모든 테이블 확인 또는 모든 계정의 테이블 확인

* USER_TABLES는 사용자의 모든 테이블을 보여주지만 모든 사용자의 모든 테이블을 보려면 DBA_TABLES를 조회하면 된다.

* USER_TABLES는 TABS 테이블과 같고 단순히 테이블명과 테이블타입만 보려면 TAB 테이블을 조회하면 된다.

TAB 테이블 조회
TABS 테이블 조회 

 

데이터 사전 활용

활용1) 내 계정 테이블명 중에 어떤 문자가 포함된 테이블 찾는 방법

테이블명중에  "DIDA"라는 문자열이 포함된 테이블을 찾기 

 

 

 

활용2) 내 계정에서 모든 계정의 어떤 테이블 찾는 방법

모든 계정의 테이블명이 'USR_USER'인것 찾기

댓글

Designed by JB FACTORY