SQL - DCL
(Data Control Language)
: 데이터 제어어
▪
GRANT
▪
REVOKE
권한 부여
GRANT 권한1, 권한2, ... TO 사용자명;
SQL
복사
권한
: 사용자 생성 및 관리, 데이터베이스 자원을 생성 및 관리하는 권한
권한 종류
•
USER : CREATE USER, ALTER USER, DROP USER
•
SESSION : CREATE SESSION, ALTER SESSION
•
TABLE : CREATE TABLE, ALTER TABLE, DROP ANY TABLE
SELECT ANY TABLE, INSERT ANY TABLE, UPDATE ANY TABLE, DELETE ANY TABLE
•
INDEX : CREATE ANY INDEX, ALTER ANY INDEX, DROP ANY INDEX
•
VIEW : ...
•
SEQUENCE : ...
•
SYNONYM : ...
롤 (ROLE): 여러 권한을 하나로 묶어놓은 그룹권한
•
롤을 이용하면, 여러 권한을 한 번에 부여하고, 해제할 수 있다.
사전 정의 롤•
CONNECT
: ALTER SESSION, CREATE CLUSTER, CREATE DATABASE LINK, CREATE SEQUENCE, CREATE SESSION, CREATE SYNONYM, CREATE TABLE, CREATE VIEW
•
RESOURCE
: CREATE TRIGGER, CREATE SEQUENCE, CREATE TYPE, CREATE PROCEDURE, CREATE CLUSTER,
CREATE OPERATOR, CREATE INDEXTYPE, CREATE TABLE
•
DBA
: 데이터베이스를 관리하는 시스템 권한의 대부분
권한 부여 - GRANT
GRANT 권한 TO 사용자명 [WITH ADMIN OPTION];
SQL
복사
GRANT 권한 ON 스키마.객체 TO 사용자명 [WITH GRANT OPTION];
SQL
복사
•
WITH ADMIN OPTION, WITH GRANT OPTION
: 부여받은 권한을 다른 사용자에게 재부여할 수 있는 권한까지 부여
•
ALL PRIVILEGES
: 모든 권한을 부여하는 키워드
권한 해제 - REVOKE
REVOKE 권한 FROM 사용자명;
SQL
복사
REVOKE 권한 ON 스키마.객체 FROM 사용자명 [CASCADE | FORCE | RESTRICT];
SQL
복사
•
CASCADE : 종속된 사용자 권한이 있다면 같이 해제
•
RESTRICT : 종속된 사용자 권한이 있다면 권한 해제를 방지
•
FORCE : 사용자 정의에 대한 실행 권한을 취소




