📝 DCL 공부 후 자습
#230126
계정의 DB, DB 객체에 대한 접근 권한을 부여(GRANT)하고 회수(REVOKE)하는 언어
1. 시스템 권한(제어) : DB접속, 객체 생성 권한 (= DDL을 실행할 수 있게 해주는 권한)
- CRETAE SESSION : 데이터베이스 접속 권한
- CREATE TABLE : 테이블 생성 권한
- CREATE VIEW : 뷰 생성 권한
- CREATE SEQUENCE : 시퀀스 생성 권한
- CREATE PROCEDURE : 함수(프로시져) 생성 권한
- CREATE USER : 사용자(계정) 생성 권한
- DROP USER : 사용자(계정) 삭제 권한
- DROP ANY TABLE : 임의 테이블 삭제 권한
2. 객체 권한 : 특정 객체를 조작할 수 있는 권한 (= DML 할 수 있는 권한)
권한 종류 설정 객체
SELECT TABLE, VIEW, SEQUENCE
INSERT TABLE, VIEW
UPDATE TABLE, VIEW
DELETE TABLE, VIEW
ALTER TABLE, SEQUENCE
REFERENCES TABLE
INDEX TABLE
EXECUTE PROCEDURE
1. 관리자 계정
2. 사용자 계정
[작성법]
CREATE USER 사용자명 IDENTIFIED BY 비밀번호;
💻 예전 SQL 방식 허용(계정명 간단히 작성 가능) 하는 문구
ALTER SESSION SET "_ORACLE_SCRIPT" = TRUE;
[작성법]
GRANT 권한, 권한, 권한..... 사용자명;** 권한은 위에 시스템권한 중 하나 적어주면 됨.
[작성법]
GRANT CREATE TABLE TO 사용자명;
묶어둔 권한(ROLE) 특정 계정에 부여
해당 계정은 지정된 권한을 이용해서 특정 역할을 갖게 된다.
사용자 계정끼리 서로 객체 접근 권한 부여
[작성법]
GRANT 객체권한 ON 객체명 TO 사용자명;** 권한은 위에 객체권한 중 하나 적어주면 됨.
기존에 부여한 권한 회수
[작성법]
REVOKE 객체권한 ON 객체명 FROM 사용자명;** 권한은 위에 객체권한 중 하나 적어주면 됨.