오라클은 어떤 일을 하려면 해당 일에 대한 권한이 있어야만 할 수 있다. 기본적으로 유저를 생성하면 권한이 없다. DBA가 그때그때 맞게끔 권한을 줘야 한다.
◆ 오라클 유저 권한의 두가지 종류
◇ 시스템 권한
- 서버를 운영하는데 관련된 권한.
- 주로 DDL과 연관된 것이 많음.
- 100개 이상의 서로 다른 시스템 권한 종류가 있음.
◇ 오브젝트 권한
- 유저가 만든 오브젝트와 관련된 권한.
- 주로 DML과 연관된 것이 많음.
◆ 시스템 권한의 예
카테고리 | 예 |
Index | create any index alter any index drop any index |
Table | create table create any table alter any table drop any table select any table update any table delete any table |
Session | create session alter session restricted session |
Tablespace | create tablespace alter tablespace drop tablespace unlimited tablespace |
◆ 미리 만들어진 권한
카테고리 | 예 |
sysoper | startup shutdown alter database open | mount alter database backup controlfile to recover database alter database archivelog restricted session |
sysdba | sysoper privileges with admin option create database alter tablespace begin/end backup restricted session recover database until |
SYSDBA는 딕셔너리 삭제하는 것만 빼고 다 할 수 있다.
◆ 시스템 권한의 제한
일반 사용자는 원래 DBA의 딕셔너리를 못 보게 되어있다. 하지만 아래의 파라미터 값을 true로 해주면 일반 사용자도 조회가 가능하다.
07_DICTIONARY_ACCESSIBILITY=TRUE;
◆ 시스템 권한 부여
SQL> grant 권한명 to 유저명;
SQL> grant 권한명 to 유저명 with admin option;
WITH ADMIN OPTION : 해당 권한을 유저에게 주었을 때 그 유저는 자기가 받은 권한을 남에게 부여할 수 있다.SQL> grant 권한명 to 유저명 with admin option;
◆ 시스템 권한 회수
SQL> revoke 권한명 from 유저명;
시스템 권한 회수시 scott의 권한을 지우면 scott이 hr에게 부여했던 권한은 지워지지 않는다.
◆ 오브젝트 권한 부여
SQL> grant 권한명 on 오브젝트명 to 유저명;
SQL> grant 권한명 on 오브젝트명 to 유저명 with grant option
WITH GRANT OPTION : 해당 권한을 유저에게 주었을 때 그 유저는 자기가 받은 권한을 남에게 부여할 수 있다.SQL> grant 권한명 on 오브젝트명 to 유저명 with grant option
◆ 오브젝트 권한 회수
SQL> revoke 권한명 on 오브젝트명 from 유저명;
오브젝트 권한 회수시 scott의 권한을 지우면 scott이 hr에게 부여했던 권한까지 모두 지워진다.
◆ 권한 관련 데이터 딕셔너리
- DBA_SYS_PRIVS
- SESSION_PRIVS
- DBA_TAB_PRIVS
- DBA_COL_PRIVS
◆ SYS, SCOTT 유저가 가지고 있는 권한 조회
SQL> select *
from dba_sys_privs
where grantee in ('SYS', 'SCOTT');
from dba_sys_privs
where grantee in ('SYS', 'SCOTT');
◆ DEPT 테이블에 달린 권한 조회
SQL> select *
from all_tab_privs
where table_name='DEPT';
from all_tab_privs
where table_name='DEPT';
'오라클 > Admin' 카테고리의 다른 글
[Admin] Role (0) | 2010.09.04 |
---|---|
[Admin] User and Schema (0) | 2010.09.04 |
[Admin] Profile (0) | 2010.09.04 |
[Admin] Table Reorganization (0) | 2010.09.03 |
[Admin] Extent와 Block과의 관계 (0) | 2010.09.02 |