Data Base_Oracle/SQL
SQL_OBJECT PRIVILEGE 개요 & DATA DICTIONARY
pathas
2020. 1. 13. 17:11
OBJECT PRIVILEGE 객체 권한
계정별로 관리하는 테이블, 뷰, 시퀀스, 동의어, 인덱스 등에 관련된 권한
OBJECT PRIVILEGE_DATA DICTIONARY
※ table_privilege_map
객체 권한 종류를 조회할 수 있는 Oracle 시스템 테이블 일반 계정에서도 조회 가능
PRIVILEGE | NAME |
---|---|
0 | ALTER |
1 | AUDIT |
2 | COMMIT 주석, 툴(exerd, erwin etc.)로 테이블 설계시 필요 |
3 | DELETE |
4 | GRANT, 권한 부여 |
5 | INDEX |
6 | INSERT, 데이터 입력 |
7 | LOCK |
8 | RENAME, 테이블, 필드 이름 변경 |
PRIVILEGE | NAME |
---|---|
9 | SELECT 보안 때문에 잘 부여하지 않음, 대신에 보통 VIEW 실행 권한을 줌 |
10 | UPDATE, 테이블 데이터 변경 |
11 | REFERENCES |
12 | EXECUTE, 실행 권한(뷰, 함수 등), ex) to_char(~) |
16 | CREATE, 생성권한 CREATE 테이블, 뷰, 시노님을 명확하게 구분해서 부여해야 함 |
... | ... |
27 | FLASHBACK, 데이터 복구에 관련된 명령어 |
... | ... |
※ 보통 다른 계정에 권한을 줄 때는 DML(insert, update, delete)만 부여하고
SELECT대신에 EXCUTE ON VIEW(뷰 실행 권한)를 부여하는 경우가 많음
OBJECT PRIVILEGE 부여
§ 형식
[ SQL> grant 권한종류,,, on 테이블명 / 뷰명 / 객체명,,, to 계정명,,,; ]
※ 객체 권한은 계정별로 테이블, 뷰 등 객체 단위로 부여하기 때문에 on을 사용함
객체 권한의 개요와 데이터 딕셔너리에 대해 알아보았습니다.
객체 권한은 계정간 객체를 공유할 때 부여한다는 점을 기억해두면 좋을 것 같습니다.
객체 권한 예제는 다음에 다룰 with grant option에서 함께 살펴보겠습니다.