오늘은 오라클 DCL에 대해서 정리해볼려고 합니다.
오라클에 DCL은 테이블에 데이터를 조작할때 필요한 권한을 조작하는 행위로
Grant , Revoke 가 있습니다.
보통 큰시스템을 운영 및 유지보수를 하다보면, 해당 부분에 대해서는 개발자가 조작 하기보다는
DBA에게 권한 신청 후 사용하는 경우가 많습니다.
하지만, 임시테이블을 만들어 개발자끼리 공유할 경우 권한을 부여하여, 다른 사용자가 해당 임시테이블
조작 할 수 있도록 해야 합니다.
(단, select 권한을 받았다고 할 경우 해당 테이블 조회시 테이블의 계정을 지정해 줘야 합니다.
예) user1 계정에서 user2한테 sawon_t 테이블에 대한 select 권한을 부여한 경우
> user1계정에서 > grant select sawon_t to user2;
> user2계정에서 > select * from user1.sawon_t; < 테이블의 owner를 지정해줘야 한다. )
1. Grant ( 권한 주기 )
- Grant는 권한을 계정에게 주는 행위입니다.
- Syntax > 1) 객체권한 > Grant select , insert , delete , update on <테이블명> to <유저명>;
2) 시스템권한 > Grant create table to <유저명>;
- 예제) 1) Grant select , insert , delete , update on sawon_t to user1;
> user1이란 사용자에게 sawon_t 테이블에 select , insert , delete , update 권한을 부여함.
> Grant all on sawon_t to user1; all을 쓸경우 select , insert , delete , update 모두 적용됨
2) Grant Create table to user1;
> user1이란 사용자에게 테이블 생성 권한을 부여함.
> Create 테이블 생성 부여시 Drop table 권한은 자동부여됨.
(단, Grant drop table to user1; 실행은 안됨.. 오라클 정책인듯;;)
3) Grant Create session to user1;
> user1이란 사용자에게 Create session 권한을 부여함
(세션을 생성해야, 오라클에 접속 할 수 있다.)
4) Grant Connect , resource to user1;
> user1이란 사용자에게 Connect , Resource 권한을 부여함.
> Connect , Resource 는 권한 롤입니다.
> Connect는 (CREATE VIEW, CREATE TABLE , ALTER SESSION , CREATE CLUSTER
CREATE SESSION , CREATE SYNONYM , CREATE SEQUENCE
CREATE DATABASE LINK) 해당 권한의 집합 이라고 보시면 됩니다.
Connect 권한 부여시 해당 권한이 모두 부여됩니다.
> Resource는 ( CREATE TYPE , CREATE TABLE , CREATE CLUSTER , CREATE TRIGGER
CREATE OPERATOR , CREATE SEQUENCE , CREATE INDEXTYPE
CREATE PROCEDURE ) 해당 권한의 집합 이라고 보시면 됩니다.
Resource 권한 부여시 해당 권한이 모두 부여됩니다.
2. Revoke ( 권한 회수 )
- Revoke는 계정의 권한을 회수하는 행위입니다.
- Revoke는 Grant 명령만 Revoke로 변경 해서 사용하시면 됩니다.
'관심1 > 오라클' 카테고리의 다른 글
오라클 힌트(Hint) 알아보기 (0) | 2016.12.11 |
---|---|
최적의 SQL 작성 (0) | 2016.12.10 |
오라클 DDL(Data Definition Language) 알아보기 (1) | 2016.11.04 |
오라클 DML(Date Manipulation Language) 알아보기 (0) | 2016.10.31 |
오라클 딕셔너리테이블뷰 확인 (0) | 2016.10.27 |