1 minute read

DCL

  • Data Control Language
  • 데이터 제어 언어
  • 계정에 시스템 권한 또는 객체 접근 권한 부여(GRANT)하거나 회수(REVOKE)하는 언어

시스템 권한 종류

  • CREATE SESSEION : 데이터 베이스 접속 권한
  • CREATE TABLE : 테이블 생성 가능 권한
  • CREATE VIEW : 뷰 생성 가능 권한
  • CREATE SEQUENCE : 시퀀스 생성 가능 권한
  • CREATE PROCEDURE :
  • CREATE USER : 계정 생성 가능 권한 …
  • DROP… …

접근 권한 부여(GRANT), 회수(REVOKE) 사용법

-- GRANT 권한1, 권한2, ..., TO 사용자계정명;
-- ROVOKE 권한1, 권한2, ..., TO 사용자계정명;

-- 계정 생성 예
CREATE USER SAMPLE IDENTIFIED BY SAMPLE;
-- 1. 계정 생성
CREATE USER SAMPLE IDENTIFIED BY SAMPLE;

-- 2. 계정에 접속을 위한 CREATE SESSION 권한 부여
GRANT CREATE SESSION TO SAMPLE;

-- 3. TABLE 생성 권한 부여
GRANT CREATE TABLE TO SAMPLE;

-- 4. 테이블 스페이스 할당: 테이블, 뷰, 인덱스 등 객체가 저장되는 공간
ALTER USER SAMPLE QUOTA 2M ON SYSTEM;

객체 권한

  • 특정 객체를 조작할 수 있는 권한
권한 종류 설정 객체
SELECT TABLE, VIEW, SEQUENCE
INSERT TABLE, VIEW
UPDATE TABLE, VIEW
DELETE TABLE, VIEW
ALTER TABLE, SEQUENCE
GRANT 권한 종류 ON 특정 객체 TO 사용자계정;

-- KH 계정이 갖고 있는 EMPLOYEE 테이블을 조회할 수 있는 권한 부여 예
GRANT SELECT ON KH.EMPLOYEE TO SAMPLE;
-- 5. KH.EMPLOYEE 테이블을 조회할 수 있는 권한 부여
GRANT SELECT ON KH.EMPLOYEE TO SAMPLE;

-- 6. KH.DEPARTMENT 테이블을 조회할 수 있는 권한 부여
GRANT SELECT ON KH.DEPARTMENT TO SAMPLE;

-- 7. KH.DEPARTMENT 테이블에 데이터를 삽입할 수 있는 권한 부여
GRANT INSERT ON KH.DEPARTMENT TO SAMPLE;

-- 8. KH.DEPARTMENT 테이블에 데이터를 삽입할 수 있는 권한 회수
REVOKE INSERT ON KH.DEPARTMENT FROM SAMPLE;

-- 9. 모든 테이블에 대한 조회 권한 설정
GRANT SELECT ANY TABLE TO SAMPLE;

-- 10. 모든 테이블에 대한 조회 권한 회수
REVOKE SELECT ANY TABLE FROM SAMPLE;

Alt text

실습 때는 SAMPLE이라는 계정을 만들어서 진행했다.
위 이미지는 SAMPLE 계정에 KH.EMPLOYEE을 조회할 수 있는 권한을 부여한 것이다.
권한이 잘 부여되었고, 조회도 가능하게 되었다.

나머지 권한 설정들도 하나씩 부여하고 확인해보는 실습! 이미지는 생략.


Categories:

Updated: