오라클에서 권한(Privilege)은 특정 타입의 SQL문을 실행하거나 데이터베이스나 데이터 베이스
객체에 접근할 수 있는 권리입니다.
SYSTEM PRIVILEGES
- 시스템 권한은 사용자가 데이터베이스에서 특정 작업을 수행 할 수 있도록 합니다
- 약 126개의 시스템 권한이 있으며 그 수는 계속 증가하고 있습니다.
- 권한의
ANY 키워드는 사용자가 모든 스키마에서 권한을 가짐을 의미 합니다.
-
GRANT 명령은 사용자 또는 Role에 대해서 권한을 부여 합니다.
-
REVOKE 명령은 권한을 삭제 합니다.
시스템 권한의 종류 몇가지
- CREATE SESSION : 데이터 베이스를 연결할 수 있는 권한
- CREATE ROLE : 오라클 데이터베이스 역할을 생성할 수 있는 권한
- CREATE VIEW : 뷰의 생성 권한
- ALTER USER : 생성한 사용자의 정의를 변경할 수 있는 권한
- DROP USER : 생성한 사용자를 삭제시키는 권한
시스템 권한 부여 문법(Syntax)

- system_privilege : 부여할 시스템 권한의 이름
- role : 부여할 데이터베이스 역할의 이름
- user, role : 부여할 사용자 이름과 다른 데이터 베이스 역할 이름
- PUBLIC : 시스템 권한, 또는 데이터베이스 역할을 모든 사용자에게 부여할 수 있습니다.
- WITH ADMIN OPTION : 권한을 부여 받은 사용자도 부여 받은 권한을 다른 사용자 또는 역할로 부여할 수 있게 되며, 만약 사용자가 WITH ADMIN OPTION과 같이 역할을 부여 받는다면 부여된 역할은 그 사용자에 의해 변경 또는 삭제 될 수 있습니다.
|
SQL>GRANT CREATE USER, ALTER USER, DROP USER TO scott WITH ADMIN OPTION.
권한이 부여되었습니다.
*설명 : scott 사용자에게 사용자를 생성, 수정, 삭제 할 수 있는 권한을 부여하고, scott 사용자도 다른 사용자에게 그 권한을 부여 할 수 있습니다.
|
문법(Syntax)

|
SQL>REVOKE CREATE USER, ALTER USER, DROP USER FROM scott
권한이 회수되었습니다.
*설명 : scott 사용자에게 부여한 생성, 수정, 삭제 권한을 회수합니다,
|
WITH ADMIN OPTION을 사용하여 시스템 권한 취소
|
WITH ADMIN OPTION을 사용하여 시스템 권한을 부여했어도 시스템 권한을 취소 할 때는 연쇄적으로 취소 되지 않습니다.

|
시나리오
1. DBA가 STORM에게 WITH ADMIN OPTION을 사용하여 CREATE TABLE 시스템 권한을 부여 합니다.
2. STORM이 테이블을 생성 합니다.
3. STORM이 CREATE TABLE 시스템 권한을 SCOTT에게 부여 합니다.
4. SCOTT가 테이블을 생성 합니다.
5. DBA가 STORM에게 부여한 CREATE TABLE 시스템 권한을 취소 합니다.
|
|

|
결과
- STORM의 테이블은 여전히 존재하지만 새 테이블을 생성할 수 있는 권한은 없습니다.
- SCOTT는 여전히 테이블과 새로운 테이블을 생성 할 수 있는 CREATE TABLE권한을 가지고 있습니다.
| |