Patrick's 데이터 세상
DCL(DATA CONTROL LANGUAGE) 본문
DCL
* DCL 개요
유저를 생성하고 권한을 제어할 수 있는 명령어
* 유저와 권한
유저 |
역할 |
SCOTT |
Oracle 테스트용 샘플 유저 Default 패스워드 : TIGER |
SYS |
DBA ROLE을 부여받은 유저 |
SYSTEM |
데이터베이스의 모든 시스템 권한을 부여받은 DBA 유저 Oracle 설치 완료 시에 패스워드 설정 |
* 유저 생성과 시스템 권한 부여 및 회수
권한을 생성하기 위해서는 우선 DBA 유저로 접속을 해야 합니다.
데이터베이스에 접속했다고 해서 테이블, 뷰, 인덱스 등과 같은 오브젝트(Object)를 생성할 수는 없습니다.
사용자가 실행하는 모든 DDL 문장(CREATE, ALTER, DROP, RENAME 등)은 그에 해당하는 적절한 권한이 있어야만 문장을 실행할 수 있습니다.
이러한 권한을 시스템 권한이라고 하며 약 100개 이상의 종류가 있습니다.
새로운 유저를 생성하려면 일단 유저 생성 권한(CREATE USER)이 있어야 합니다.
권한 |
기능 |
CREATE USER |
계정 생성 권한 |
DROP USER |
계정 삭제 권한 |
DROP ANY TABLE |
임의 테이블 삭제 권한 |
CREATE SESSION |
데이터베이스 접속 권한 |
CREATE TABLE |
테이블 생성 권한 |
CREATE VIEW |
뷰 생성 권한 |
CREATE SEQUENCE |
시퀀스 생성 권한 |
CREATE PROCEDURE |
함수 생성 권한 |
부여
1 2 3 4 5 6 7 8 |
-- 유저생성 권한(CREATE USER) GRANT CREATE USER TO SCOTT;
-- 로그인 권한 GRANT CREATE SESSION TO PJS;
-- 테이블 생성 권한 GRANT CREATE TABLE TO PJS; |
cs |
* OBJECT에 대한 권한 부여 및 회수
권한 |
TABLE |
VIEW |
SEQUENCE |
PROCEDURE |
ALTER |
O |
|
O |
|
DELETE |
O |
O |
|
|
SELECT |
O |
O |
O |
|
UPDATE |
O |
O |
|
|
EXECUTE |
|
|
|
O |
INDEX |
O |
|
|
|
INSERT |
O |
O |
|
|
REFERENCE |
O |
|
|
|
설정 가능한 객체 권한
부여
GRANT 권한1, 권한2 ON 객체명 TO 계정명;
1 2 3 4 5 6 7 8 9 |
--방법1 GRANT SELECT ON [TABLE] TO [USER_ID]; GRANT INSERT ON [TABLE] TO [USER_ID]; GRANT DELETE ON [TABLE] TO [USER_ID]; GRANT UPDATE ON [TABLE] TO [USER_ID];
--방법2 GRANT SELECT, INSERT, DELETE, UPDATE ON [TABLE] TO [USER_ID]; CREATE OR REPLACE SYNONYM [USER_ID].[TABLE] FOR [MASTER_ID].[TABLE] |
cs |
회수
REVOKE 권한1, 권한2 ON 객체명 FROM 계정명;
1 2 3 4 5 6 7 8 |
--방법1 REVOKE SELECT ON [TABLE] FROM [USER_ID]; REVOKE INSERT ON [TABLE] FROM [USER_ID]; REVOKE DELETE ON [TABLE] FROM [USER_ID]; REVOKE UPDATE ON [TABLE] FROM [USER_ID];
--방법 2 REVOKE SELECT, INSERT, DELETE, UPDATE ON [TABLE] FROM [USER_ID]; |
cs |
오브젝트 권한은 SELECT, INSERT, DELETE, UPDATE 등의 권한을 따로따로 관리합니다.
'Programming > Oracle' 카테고리의 다른 글
오라클 DB LOCK 걸린 개체 확인 & LOCK 해제 (0) | 2020.06.21 |
---|---|
절차형 SQL (0) | 2020.06.21 |
그룹 내 비율 함수 (0) | 2020.06.21 |
그룹 내 행 순서 함수 (0) | 2020.06.21 |
일반 집계 함수 (0) | 2020.06.21 |