SMALL
안녕하세요, 코린이의 코딩 학습기 채니 입니다.
개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다.
DATA DICTIONARY
- DB를 효율적으로 관리하기 위해 DB객체에 대한 메타정보를 조회하는 가상 테이블
- 관리자의 테이블을 일반사용자가 읽기 전용으로 접근
- DB 객체/수정/삭제 할 때도 data dictionary는 자동으로 갱신
user_xxx → 사용자 소유의 객체 조회
all_xxx → 사용자 소유, 타사용자(관리자)로부터 사용 권한을 부여받은 객체 조회
dba_xxx → 관리자만 접근 가능한 DD (모든 사용자의 모든 객체 정보 조회)
모든 DD 조회
-- 모든 DD 조회
select * from dict; -- 별칭
select * from dictionary;
몇 천개의 정보가 조회되었습니다.
계정이 소유한 객체 정보 (user_xxx) 조회
계정이 소유한 테이블 정보
-- 계정이 소유한 테이블 정보
select * from user_tables;
계정이 소유한 권한 조회
-- 계정이 소유한 권한 조회
select * from user_sys_privs;
계정이 소유한 롤 조회
-- 계정이 소유한 롤 조회
select * from user_role_privs;
사용자가 부여 받은 롤 안의 실제 권한 조회
-- 사용자가 부여받은 롤 안의 실제 권한 조회
select * from role_sys_privs;
계정의 제약 조건 조회
-- 계정의 제약 조건 조회
select * from user_constraints;
계정의 view 조회
-- 계정의 view 조회
select * from user_views;
사용 권한이 있는 모든 객체에 대한 DD 조회 (all_xxx)
테이블 조회
13행 이 외 수많은 테이블이 조회 되었습니다.
view 조회
-- view
select * from all_views;
13행 이외 수많은 테이블이 조회 되었습니다.
관리자용 DD 조회 (관리자만 이용 가능)
테이블 조회
-- 관리자용 DD (관리자만 이용 가능)
select * from dba_tables;
모든 테이블을 볼 수 있기 때문에 13행 이외 수많은 테이블이 조회 되었습니다.
-- kh 소유 테이블 조회
select * from dba_tables where owner = 'KH';
테이블 열람
-- kh.employee 테이블 열람
select * from kh.employee;
-- chun.tb_student 테이블 열람
select * from chun.tb_student;
모든 계정 조회
select * from dba_users;
특정 사용자 권한 확인
select * from dba_sys_privs where grantee = 'KH';
select * from dba_role_privs where grantee = 'KH';
테이블 권한
-- 테이블 권한
select * from dba_tab_privs where owner = 'KH';
qwerty 계정에게 kh.coffee 테이블 권한 부여 시 조회 결과
grant all on kh.coffee to qwerty;
select * from dba_tab_privs where owner = 'KH';
LIST
'DataBase > Oracle' 카테고리의 다른 글
DB객체) SEQUENCE 객체 (nextval, currval) (0) | 2022.04.29 |
---|---|
DB객체) STORED VIEW 객체 (0) | 2022.04.28 |
TCL) 트랜잭션이란? (0) | 2022.04.28 |
DCL) 권한 부여 및 회수 (GRANT, REVOKE 구문) (0) | 2022.04.28 |
DDL) DROP 구문 (0) | 2022.04.26 |