더북(TheBook)

데이터 딕셔너리

지금까지 이 책에서 간간이 소개했던 시스템 뷰를 데이터 딕셔너리(혹은 데이터 사전)라고 한다. 데이터 딕셔너리는 오라클에서 사용하는 시스템 정보부터 사용자, 객체 등에 대한 수많은 내부 정보를 담고 있다. 이러한 정보를 참조하면 오라클 DB의 내부 매커니즘 일부도 엿볼 수 있다. 내부 매커니즘까지는 아니더라도 데이터 딕셔너리를 통해 개발할 때 유용한 정보를 얻어낼 수 있다.

데이터 딕셔너리는 기준 테이블과 뷰로 구성되어 있는데 우리가 접근해 이용할 수 있는 것은 뷰 뿐이며 이들을 데이터 딕셔너리 뷰 혹은 시스템 뷰라고 한다. 데이터 딕셔너리 뷰는 수천 개가 넘는다. 따라서 찾으려는 정보가 있는 뷰를 찾는 것조차 어려울 것 같지만 사실 의외로 찾기가 쉽다. 왜냐하면 데이터 딕셔너리 뷰의 이름에는 일정한 규칙이 있기 때문이다. 우리가 살펴볼 데이터베이스 객체에 관련된 대부분의 데이터 딕셔너리 뷰 명칭은 다음과 같이 3가지 종류의 접두사로 시작된다.

USER_*: 현재 접속된 스키마(사용자)가 소유한 데이터베이스 객체에 관한 정보를 담고 있는 뷰

ALL_*: 현재 접속된 스키마(사용자)가 접근할 수 있는 모든 데이터베이스 객체에 관한 정보를 담고 있는 뷰

DBA_*: 모든 데이터베이스 객체에 관한 정보를 담고 있는 뷰

ALL과 DBA는 다른 스키마(사용자) 소유의 객체 정보를 참조할 수 있으므로 공통적으로 소유자 정보가 있는 ‘OWNER’라는 컬럼이 있지만 USER로 시작하는 뷰에는 이 컬럼이 없다. 또한 모든 데이터 딕셔너리 뷰 명칭이 앞의 3가지 접두사로 시작하는 것은 아니며 예외도 있다. 그럼 지금부터 개발자가 유용하게 참조할 수 있는 정보가 있는 데이터 딕셔너리 뷰에 대해 살펴 보자.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.