데이터 사전이란?

-사용자와 데이터베이스의 자원을 효율적으로 관리하기 위한 다양한 정보를 저장하는 시스템 테이블의 집합

-사용자가 테이블을 생성하거나 사용자를 변경하는 등의 작업을 할 때 데이터베이스 서버에 의해 자동으로 갱신된다(사용자는 데이터 사전의 내용을 직접 수정하거나 삭제할 수 없음) 

-사용자가 이해할 수 있는 데이터를 산출해 줄 수 있도록 하기 위해서 읽기 전용 뷰 형태로 정보를 제공합니다.


데이터 사전은 크게 3가지로 나뉜다.


 접두어

의미 

USER_ 

자신의 계정이 소유한 객체 등에 관한 정보 

ALL_ 

자신 계정 소유 또는 권한을 부여 받은 객체 등에 관한 정보 조회 

DBA_ 

데이터베이스 관리자만 접근 가능한 객체 등의 정보 조회 






USER_데이터 사전


사용자와 가장 밀접하게 관련된 뷰로써 자신이 생성한 테이블, 인덱스, 뷰, 동의어 등의 객체나 해당 사용자에게 부여된 권한 정보를 제공한다.



사용자가 소유한 테이블에 대한 정보 조회

1
select table_name from user_tables;
cs


이 외에도

USER_SEQUENCES - 사용자가 소유한 시퀀스의 정보 조회

USER_INDEXES - 사용자가 소유한 인덱스의 정보 조회

USER_VIEWS - 사용자가 소유한 뷰의 정보 조회


USER_데이터 사전은 USER_뒤에 원하는 객체등을 기술해주면되는데 뒤에 기술되는 명칭은 S 가 붙은 

복수타입이다.






ALL_ 데이터 사전

-전체 사용자와 관련된 뷰로써 사용자가 접근할 수 있는 모든객체에 대한 정보를 조회할 수 있다.

-조회중인 객체가 누구의 소유인지를 확인하도록 하기위해 OWNER칼럼을 제공한다.




all_table로 자신이 소유한 혹은 권한을 부여받은 테이블에 대한 정보 조회


1
select owner, table_name from all_tables;
cs





DBA_데이터 사전


DBA나 시스템 권한을 가진 사용자만 접근이 가능하다.

사용자가 다른경우 DBA로 시작하는 데이터 사전을 조회할 권한이 없기 때문에 SYSTEM계정으로 접속해야한다.


현재 제가 접속한 사용자는 hr인데 hr은 DBA로 시작하는 데이터 사전을 조회할 권한이 없기 때문에 

오류가 난다. 그러므로 권한이 있는 시스템 계정에서 조회 해보겠다.




ㅁㅁㅁㅁㅁㅁㅁ

시스템 계정 접속하기


dba_table로 테이블에 대한 정보 조회하기


1
select owner, table_name from dba_tables;
cs



너무많아서 캡쳐 불가능입니다.

2080개나되는 많은 자료들을 볼 수 있었다.


+ Recent posts