1. 개요
- DBA는 사용자가 특정 객체(Table , View, Sequence, Procedure, Snapshot)
에 대한 작업을 수행할수 있게 합니다.
- 객체에 대한 권한은 객체 유형에 따라 매우 다양합니다.
- 소유자(Owner) 객체에 관한 모든 권한을 가지고 있다.
- 소유자는 소유한 객체에 대해 특정권한을 다른 사용자에게 줄수 있다.
- 형식> Grant 객체권한 On 객체 to 사용자 [ With Grant Option ]
2. 예
SQL> grant select on test to des2;
Grant succeeded.
des2라는 사용자에게 test Table에 대한 select 권한을 부여한다.
SQL> desc test
Name Null? Type
------------------------------- -------- ----
A NUMBER(15)
B VARCHAR2(2)
SQL> grant update(b) on test to des2;
Grant succeeded.
des2 사용자에게 test Table의 column b를 변경할수 있는 권한을 부여한다.
3. 기타
- 객체에 대한 권한을 주려면 자신이 생성한 개체이거나 with grant option
으로 객체권한을 받아야 한다.
- 객체의 소유자는 다른 사용자나 데이타베이스의 role에게 객체 권한을 부여
할수 있다.(with grant option)
- 객체의 소유자는 객체에 대한 모든 권한을 자동적으로 받는다.
- With Grant Option으로 권한을 받은 사용자는 다른 사용자나 role에게
그 권한을 다시 Grant 할수 있다.
- With Grant Option으로 허가된 객체 권한은 허가자의 권한이 취소되면
같이 취소된다.
SQL> connect office/office_pass;
Connected.
SQL> grant select on test to des2 with grant option;
Grant succeeded.
SQL> connect des2/des2_pass
Connected.
SQL> grant select on office.test to apt;
Grant succeeded.
- Public 키워드를 사용하면 시스템의 모든 사용자에게 권한 부여가 가능하다.
SQL>grant select on test to public;
test Table에대한 모든 사용자가 select가 가능하게 된다.
|