013. 데이터 사전(Data Dictionary)

IRISH·2024년 3월 6일
0

Oracle

목록 보기
14/17
post-thumbnail
  • 학습일자 : 2024.03.06

데이터 사전

  • 데이터 사전(Data Dictionary)이란 대부분 읽기전용으로 제공되는 테이블 및 뷰들의 집합으로 데이터베이스 전반에 대한 정보를 제공 한다.
  • 오라클 데이터베이스는 명령이 실행 될 때 마다 데이터 사전을 Access 한다.
    • DB작업동안 Oracle은 데이터 사전을 읽어 객체의 존재여부와 사용자에게 적합한 Access 권한이 있는지를 확인 한다.
    • 또한 Oracle은 데이터 사전을 계속 갱신하여 DATABASE 구조, 감사, 사용자권한, 데이터등의 변경 사항을 반영 한다.

데이터 사전에 저장되는 내용

  • 오라클의 사용자 정보
  • 오라클 권한과 롤 정보
  • 데이터베이스 스키마 객체(TABLE, VIEW, INDEX, CLUSTER, SYNONYM, SEQUENCE..) 정보
  • 무결성 제약조건에 관한 정보
  • 데이터베이스의 구조 정보
  • 오라클 데이터베이스의 함수 와 프로지저 및 트리거에 대한 정보
  • 기타 일반적인 DATABASE 정보

데이터 사전의 분류

⇒ ALL_XXXX

  • ALL_로 시작하는 데이터 사전으로, 한 특정 사용자가 조회 가능한 모든 데이터사전을 의미 한다.
  • 자신이 조회하려는 객체의 주인이 아니더라도 그 객체에 접근 할 수 있는 권한을 가지고 있다면 ALL_XXXX 뷰를 통하여 조회가 가능 하다.
SELECT table_name, tablespace_name 
  FROM ALL_TABLES;

⇒ USER_XXXX

  • USER_로 시작하는 데이터 사전으로, 한 특정 사용자에게 종속되어 있고, 그 사용자가 조회 가능한 데이터 사전 뷰들로 ALL_XXXX 데이터 사전의 모든 정보의 부분 집합 이다.
SELECT table_name, tablespace_name 
  FROM USER_TABLES;

⇒ DBA_XXXX

  • DBA권한을 가진 사용자 만이 조회할 수 있는 데이터 사전으로서 모든 오라클 데이터베이스 객체에 대한 정보를 볼 수 있다.
  • SELECT ANY TABLE 권한이 있는 사용자 또한 질의가 가능 하며 다른 사용자가 질의 하려면 앞에 SYS.이라는 접두어를 붙여야 한다.
SELECT OWNER, OBJECT_NAME 
  FROM SYS.DBA_OBJECTS;

⇒ V$_XXXX

  • Dynamic Performance View라고도 하며, 현재 Database의 상태에 관한 정보로 주로 DBA에게만 액세스가 허용되어 있다.
  • 주로 DBA의 모니터링 작업용 정보를 제공하며, X$ 테이블을 베이스로 하는 뷰이다.

⇒ X$_XXXX

  • X$ 뷰는 V$ 뷰가 보여주지 않는 정보를 보여준다.
  • X$ 테이블은 오라클의 메모리정보를 볼 수있는 SQL 인터페이스 뷰들로 Oracle 데이터베이스의 가장 숨겨진 영역 중 하나이다.

느낀점

정보처리기사에서나 보던 데이터 사전에 대해서 배우게 되서 흥미로웠다.

아쉬웠던 점은, ALL_XXXX 등을 내가 실무에서 써본적이 없단 것?

실제 DBA가 아니라면 딱히 다룰 이유가 없을 것 같기는 하다.

하지만, 데이터 사전에 대한 개념을 통해 나중에 전반적인 Oracle 구조를 뜯어 볼 수 있을 것 같다는 생각이 든다.

참고 URL

profile
#Software Engineer #IRISH

0개의 댓글

관련 채용 정보