
CREATE ROLE role_name
-- 1. ROLE 생성하기
SQL> CREATE ROLE role1;
-- 2. ROLE에 권한 부여하기
SQL> GRANT CREATE SESSION, CREATE TABLE TO role1;
-- 3. 권한이 부여된 ROLE을 USER 나 ROLE 에 부여하기
SQL> GRANT role1 TO GAYOUNG; // GAYOUNG 라는 유저에 부여함.
SQL> SELECT * FROM DBA_ROLES;
ROLE PASSWORD
---------------------- -----------
CONNECT NO
RESOURCE NO
DBA NO
SELECT_CATALOG_ROLE NO
....
오라클에 접속할 수 있는 세션 생성 및 테이블 생성/조회를 할 수 있는 가장 일반적인 권한들로 이루어짐.
CONNECT ROLE 이 없다면 유저를 생성하고 나서도 Oracle 에 접속할 수 없다.
아래의 명령어로 CONNECT ROLE이 어떤 권한으로 이루어져 있는 지 확인할 수 있다.
SQL>SELECT grantee, privilege
FROM DBA_SYS_PRIVS
WHERE grantee = 'CONNECT';
GRANTEE PRIVILEGE
----------- ---------------------
CONNECT ALTER SESSION
CONNECT CREATE CLUSTER
CONNECT CREATE DATABASE LINK
CONNECT CREATE SEQUENCE
CONNECT CREATE SESSION
...