javaboiii의 DataBase

DB - DCL(Data Control Language)

javaboiii 2024. 8. 15. 20:09

DataBase

DCL(Data Control Language)

- 사용자의 계정 생성/ 삭제, 권한 부여 / 회수에 대한 명령

CREATE USER 계정(ID) IDENTIFIED BY 비밀번호; -- 계정생성
ALTER USER -- 계정 (변경)수정

GRANT ~ TO ~ -- 권한 부여

REVOKE ~ TO ~ -- 권한 회수

DROP USER ~ -- 계정 삭제

 

SESSION 생성 권한

 - 로그인을 위해 CREATE SESSION 권한 필요(가장 기본 권한 필수)

 

Object 권한

 - 테이블 생성을 위해 CREATE TABLE 권한 필요

 

DROP 연산 수행 시

 - CASCADE 옵션 사용시 사용자가 생성한 객체도 함께 삭제됨

 - CASCADE 옵션 미사용시 사용자가 객체를 갖고 있지 않은 경우에만 삭제 실행

 

ROLE을 이용한 권한 부여

 - ROLE : 권한들의 Package

CREATE ROLE	ROLE이름; -- ROLE 생성
GRANT	CREATE SESSION, CREATE TABLE TO ROLE이름; -- ROLE 패키징
GRANT	ROLE이름 TO 계정(ID); -- 권한 부여

 

ORACLE의 ROLE

 - 일반적으로 사용자 생성 시 CONNECT의 RESOURCE를 통해 기본 권한을 부여함

 - 계정 생성 코드

CREATE USER 계정(ID) IDENTIFIED BY 비밀번호;
GRANT CONNECT,DBA,RESOURCE TO 계정(ID);

 

- ROLE의 권한 확인

SELECT	GARANTEE, PRIVILEGE
FROM	DBA_SYS_PRIVS
WHERE	GRANTEE IN('CONNECT', 'RESOUCRCE')
ORDER BY GRANTEE;

 

 

'javaboiii의 DataBase' 카테고리의 다른 글

DB - 다중 행 함수(Multi-Row Function)  (0) 2024.08.20
DB - 서브쿼리(Subquery)  (0) 2024.08.18
DB - TCL(Transaction Control Language)  (0) 2024.08.13
DB - JOIN  (0) 2024.08.12
DB - REGEXP 함수  (0) 2024.08.10