Oracle 계정 생성 및 권한 설정과 해제 (create user, grant, revoke)
Oracle user 계정 생성 및 Oracle 권한 설정 / 해체
1. Oracle sqlplus 접속
- dba user 계정이 존재 하지 않다면, sys 계정으로 설정이 필요하다.
oracle@MIN ~]# sqalplus / as sysdba or oracle@MIN ~]# sqlplus "/as sysdba" |
SQL> CREATE USER 계정명 IDENTIFIED BY 패스워드; |
2. Oracle 권한 설정 (GRANT)
SQL> GRANT 권한명 TO 계정명; ex) grant create table to min; ex) grant create table, create session, create view, create sequnce to min; -> 해당 권한을 min 이라는 user 게정의 권한으로 설정 |
○ 자주 사용되는 권한 LIST
권한 명 |
||
CREATE USER |
계정 생성 |
|
CREATE TABLE |
테이블 생성 |
|
CREATE VIEW |
뷰 생성 |
|
CREATE SEQUENCE |
시퀀스 생성 |
|
CREATE PROCEDURE |
프로시져 생성 |
|
CREATE SESSION |
DB 연결 권한 |
|
CREATE TRIGER |
트리거 생성 |
|
CREATE TYPE |
TYPE 생성 |
|
CREATE FUNCTION |
FUNCTION 생성 |
|
DROP USER |
유저 삭제 |
|
DROP ANY TABLE |
테이블 삭제 |
많은 권한들이 존재하기 때문에, 아래와 같은 ROLE 을 권한을 부여하여 사용도 가능하다.
DBA |
DBA 권한 |
|
RESOURCE |
TABLE, TRIGGER, INDEX 등의 객체들을 DROP, ALTER 들의 컬럼들에 insert, update, delete 를 할수 있는 권한 (CREATE CLUSTER, CREATE INDEXTYPE, CREATE OPERATOR, CREATE PROCEDURE, CREATE SEQUENCE, CREATE TABLE, CREATE TRIGGER, CREATE TYPE 등) |
|
CONNECT |
DB 연결 권한 |
3. Oracle 권한 제거/해제 (Revoke)
SQL> REVOKE 권한명 FROM 유저명; ex) revoke dba from min -> 유저 min 계정에서 dba 권한 삭제 |
3. DB CONTAINER 사용시
- 12C 이상 버전에서 컨터이너를 사용중이라면, 계정앞에 [c##] 을 붙여서 생성하여야한다.
SQL> CREATE USER c##유저명 IDENTIFIED BY 패스워드 ; ex) create user c##min identified by 1; -> 유저 min 생성 및 패스워드 1로 생성 |