[과목2.SQL 기본 및 활용 - 3-8. DCL(Data Control Language)]
1. DCL?
(1) 새로운 유저를 생성하고 권한을 제어할 수 있는 명령어
(2) DB는 데이터 보호와 보안을 위해서 유저/권한을 관리하고있다.
2. Oracle에서 제공하는 유저들
(1) Scott : 테스트용 샘플 유저
(2) Sys : 백업 복구 등 DB의 모든 관리 기능 수행 가능함. DBA 권한을 부여 받은 유저, 최상위 관리자 계정
(3) System : 백업/복구 등 일부 기능을 제외한 모든 시스템 권한을 부여받은 DBA계정, 오라클 설치시에 패스워드 설정 , SYS 바로 밑)
(4)
3. GRANT 문
(1) 권한을 부여하는 명령어 DCL 이다.
(2) CREATE SESSION : 유저가 로그인 할 수 있게 해줌
(3) CREATE TABLE : 유저가 테이블을 생성할 수 있게 해줌
예시)
GRANT [권한명] TO [권한을 부여할 유저 명];
4. REVOKE 문
(1) 부여한 권한을 회수하는 명령어 DCL이다.
5. ROLE 이란?
(1) 위의 GRANT를 일일이 모든 권한에 대해 치기가 매우 번거롭고 힘들다.
(2) 그래서 ROLE을 생성하고 ROLE에 각종 권한을 부여한 후 ROLE을 다른 ROLE이나 유저에게 부여한다.
(3) ROLE에 포함된 권한들이 필요한 유저에게 ROLE만 부여함으로써 빠르고 정확하게 필요한 권한을 부여할 수 있다.
(4) ROLE을 생성하여 ROLE에 권한을 부여할 때도 GRANT 문을 쓴다. TO 뒤에 ROLE 명을 기입
6. CONNECT, RESOURCE ROLE이 보유한 권한들
(1) CONNECT : CREATE SESSION
(2) RESOURCE : CREATE CLUSTER ,
CREATE TYPE,
CREATE TABLE,
CREATE PROCEDURE,
CREATE TRIGER 등 ….
(3) 거의 필요한 권한이 들어있기 때문에 유저 생성시 위의 2가지 ROLE을 부여한다.