*DCL : 데이터 제어 언어

-데이터베이스, 데이터베이스 내의 객체에 대한 권한을 제어(부여, 회수) 하는 언어

 

1. GRANT : 권한 부여

  - GRANT 권한 1 , 권한 2, ...   TO 사용자 이름;

  - 한번에 여러개 부여 가능

2. REVOKE 권한 회수

  - REVOKE 권한 FROM 사용자 이름;

 

권한 종류 

  • CREATE SESSION   : 데이터베이스 접속 권한
  • CREATE TABLE     : 테이블 생성 권한
  • CREATE VIEW      : 뷰 생성 권한
  • CREATE SEQUENCE  : 시퀀스 생성 권한
  • CREATE PROCEDURE : 함수(프로시져) 생성 권한
  • CREATE USER      : 사용자(계정) 생성 권한
  • DROP USER        : 사용자(계정) 삭제 권한
  • DROP ANY TABLE   : 임의 테이블 삭제 권한

계정의 종류 : 

-관리자 계정 : 모든 권한과 책임 가짐

-사용자 계정 : 업무에 필요한 최소한의 권한만 가지는 것을 원칙

 

** ROLE **

-권한의 묶음

-여러가지 관련된 권한들을 묶어서 한번에 부여, 회수하는 용도로 사용

1)CONNECT : 데이터베이스 접속 권한 (= CREATE SESSION)

2)RESOURCE : 데이터베이스를 사용하기 위한 기본 객체 생성 권한을 묶어둔 롤

=> TABLE 외 7가지 생성 권한 + 테이블스페이스를 기본값 자동 부여

 

** 객체 권한 **

-특정 객체를 조작할 수 있는 권한을 부여

GRANT 권한 종류 [(컬럼명)] | ALL 
    ON 객체명 | ROLE 이름 | PUBLIC
    TO 사용자 이름;

 권한 종류   설정 객체
SELECT               TABLE, VIEW, SEQUENCE
INSERT               TABLE, VIEW
UPDATE                TABLE, VIEW
DELETE               TABLE, VIEW
ALTER                 TABLE, SEQUENCE
REFERENCES           TABLE
INDEX                TABLE
EXECUTE              PROCEDURE

 

<EXAMPLE>

 

CREATE USER A IDENTIFIED BY PW; (유저 생성)

 

GRANT SELECT ON TABLE_T TO A (권한 부여)

 

REVOKE INSERT ON TABLE_T FROM A (권한 회수) 

 

 

+ Recent posts