오라클 데이터베이스를 생성하면 기본적으로 몇 가지의 ROLE이 생성 된다. DBA_ROLES 데이터 사전을 통하여 미리 정의된ROLE을 조회 할 수 있다.
SQL>SELECT * FROM DBA_ROLES; ROLE PASSWORD ---------------------- ----------- CONNECT NO RESOURCE NO DBA NO SELECT_CATALOG_ROLE NO EXECUTE_CATALOG_ROLE NO DELETE_CATALOG_ROLE NO EXP_FULL_DATABASE NO IMP_FULL_DATABASE NO .... 이 외에도 많이 ROLE이 존재하는데, 가장 많이 사용하는 세 가지만 설명 하겠다.
CONNECT ROLE
- – 오라클에 접속 할 수 있는 세션 생성 및 테이블을 생성하거나 조회 할 수 있는 가장 일반적인 권한들로 이루어져 있다.
- – 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 ...
RESOURCE ROLE
- – Store Procedure나 Trigger와 같은 PL/SQL을 사용할 수 있는 권한 들로 이루어져 있다.
- – PL/SQL을 사용하려면 RESOURCE ROLE을 부여해야 한다.
- – 유저를 생성하면 일반적으로 CONNECT, RESOURCE롤을 부여 한다.
DBA ROLE
- – 모든 시스템 권한이 부여된 ROLE 이다.
- – DBA ROLE은 데이터베이스 관리자에게만 부여해야 한다.