DCL : DATA CONTROL LANGUAGE
데이터 제어 언어
계정에게 객체접근권한, 시스템권한 부여(GRANT)하거나 회수(REVOKE)하는 언어
* 권한 부여(GRANT)
- 시스템권한 : 특정 DB에 접근하는 권한, 객체들을 생성할 수 있는 권한
- 객체접근권한 : 특정 객체들에 접근해서 조작할 수 있는 권한
[표현법]
GRANT 권한1, 권한2, .....TO 계정명;
* 시스템 권한의 종류
- CREATE SESSION : 계정에 접속할 수 있는 권한
- CREATE TABLE : 테이블을 생성할 수 있는 권한
- CREATE VIEW : 뷰를 생성할 수 있는 권한
- CREATE SEQUESCE : 시퀀스를 생성할 수 있는 권한
- CREATE USER : 계정을 생성할 수 있는 권한
- ........
* 객체권한
특정 객체들을 조작(SELECT, INSERT, UPDATE, DELETE)할 수 있는 권한
[표현법]
GRANT 권한종류 ON 특정객체 TO 계정명;
* 객체권한의 종류
권한 종류 | 특정객체
----------------------------------------
SELECT | TABLE, VIEW, SEQUENCE
INSERT | TABLE, VIEW
UPDATE | TABLE, VIEW
DELETE | TABLE, VIEW
* 권한 회수 (REVOEK)
- 권한을 회수할 때 사용하는 명령어
[표현법]
REVOKE 권한1, 권한2, .... FROM 사용자 이름;
* 롤 (ROLE)
특정 권한들을 하나의 집합으로 모아 놓은 것
- CONNECT : CREATE SESSION (데이터베이스에 접속할 수 있는 권한)
- RESOURCE : CREATE TABLE, CREATE SEQUENCE, ....(특정 객체들을 생성 및 관리 하는 권한)
-- GRANT CONNECT, RESOURCE TO 계정;
-- 최소한의 권한을 부여하고자 할 때, CONNECT, RESOURCE만 부여하면 된다.
'*SQL_Oracle*' 카테고리의 다른 글
OBJECT < VIEW > (0) | 2021.11.11 |
---|---|
TCL < COMMIT, ROLLBACK > (0) | 2021.11.11 |
DDL < ALTER, DROP > (0) | 2021.11.11 |
DML <INSERT, UPDATE, DELETE> (0) | 2021.11.11 |
DDL <CREATE> SUBQUERY를 이용한 테이블생성 (0) | 2021.11.10 |