*SQL_Oracle*

DCL < GRANT, REVOKE>

깐부로부터 2021. 11. 11. 13:54

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