카테고리 없음

[Oracle] 오라클 DCL 권한 부여 및 회수(GRANT, REVOKE)

푸코잇 2023. 12. 5. 22:58
728x90

 

DCL이란?

DCL(Data Control Language)은 데이터 제어 언어로 데이터베이스에서 데이터에 대한 권한을 제어하는 데 사용된다.

 

권한 부여(GRANT)

-- 사용자 생성 권한 부여
GRANT CREATE USER TO 사용자명;

-- 로그인 권한 부여
GRANT CREATE SESSION TO 사용자명;

-- 테이블 생성 권한 부여
GRANT CREATE TABLE TO 사용자명;

-- 다른 사용자의 테이블 SELECT 권한 부여
GRANT SELECT ON 사용자.테이블명 TO 사용자명;

 

권한 회수(REVOKE)

-- 사용자 생성 권한 회수
REVOKE CREATE USER FROM 사용자명;

-- 로그인 권한 회수
REVOKE CREATE SESSION FROM 사용자명;

-- 테이블 생성 권한 회수
REVOKE CREATE TABLE FROM 사용자명;

-- 다른 사용자의 테이블 SELECT 권한 회수
REVOKE SELECT ON 사용자.테이블명 FROM 사용자명;

 

위에서 사용한 권한 외에도 CREATE PROCEDURE, CREATE SEQUENCE 등 다양한 권한이 있다.

 

ROLE

-- 여러 개의 권한을 합친 ROLE 생성
CREATE ROLE 룰이름;

-- 생성한 ROLE에 권한 부여
GRANT CREATE SESSION, CREATE TABLE TO 룰이름;

-- 생성한 ROLE을 사용자에게 권한 부여
GRANT 룰이름 TO 사용자명;

 

ROLE을 통해 여러 개의 권한을 한 번에 부여하고 회수할 수 있다.

 

-- 오라클에서 제공하는 ROLE

-- 1. CONNECT : 접속 권한
GRANT CONNECT TO 사용자명;

-- 2. RESOURCE : 객체 생성 및 조작 권한
GRANT RESOURCE TO 사용자명;

-- 3. DBA : 준관리자급 권한
GRANT DBA TO 사용자명;

 

오라클에서 기본적으로 CONNECT, RESOURCE, DBA와 같은 ROLE을 제공하고 있다.

 

-- 사용자에 부여된 권한 조회
SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE = 사용자명;

오라클사용자권한조회
SCOTT 사용자 권한 조회

 

 

함께 읽으면 도움 되는 글 목록

 

 

오라클 DDL(CREATE, ALTER, RENAME, TRUNCATE, DROP)

DDL이란? DDL(Data Definition Language)은 데이터 정의어로 테이블 조작 및 제어 관련 쿼리문이다. 종류로는 CREATE, ALTER, RENAME, TRUNCATE, DROP이 있다. 명령어를 수행하자마자 자동 COMMIT이 되어 바로 반영되는

foco.tistory.com

 

 

오라클 DML(INSERT, SELECT, UPDATE, DELETE)

DML이란? DML(Data Manipulation Language)은 데이터 조작어이다. 종류로는 INSERT(데이터 삽입), SELECT(데이터 조회), UPDATE(데이터 수정), DELETE(데이터 삭제)가 있다. 예제용 테이블(TBL_STUDENT) 생성 CREATE TABLE TBL

foco.tistory.com

 

오라클 TCL(COMMIT, ROLLBACK, SAVEPOINT)

TCL이란? TCL(Transaction Control Language)은 트랜잭션 제어를 위해 사용한다. 여기서 말하는 트랜잭션은 데이터 처리의 한 단위이다. 즉, 다수의 SQL문을 하나의 논리적인 작업 단위로 보는것이다. 트랜

foco.tistory.com