3.管理許可權

系統許可權

image

系統許可權

image

image

對象許可權

image

授予對象許可權

■ 授予對象許可權
在oracle9i前,授予對象許可權是由對象的所有者來完成的,如果用其它的用戶來操作,則需要用戶具有相應的(with grant option )許可權,從oracle9i開始,dba,sys,system 可以將任何對象上的對象許可權授予其它用戶.授予對象許可權是用grant命令來完成的.

我們看幾個案例:
1.monkey用戶要操作scott.emp表,則必須授予相應的對象許可權
①希望monkey可以查詢scott.emp的表數據,怎樣操作?grant select on emp to monkey;
②希望monkey可以修改scott.emp的表數據,怎樣操作?grant update on emp to monkey;
③希望monkey可以刪除scott.emp的表數據,怎樣操作?grant delete on emp to monkey;
④有沒有更加簡單的方法,一次把所有許可權賦給monkey?grant all on emp to monkey;

2.能否對monkey訪問許可權更加精細控制.(授予列許可權)
①希望monkey只可以修改scott.emp的表的sal欄位,怎樣操作?
Grant update on emp(sal) to monkey;s
3.授予alter許可權
如果black用戶要修改scott.emp表的結構,則必須授予alter對象許可權
Grant alter on emp to black;
4.授予execute許可權
如果用戶想要執行其它方案的包/過程/函數,則須有execute許可權.比如為了讓ken可以執行包dbms_transaction,可以授execute許可權

2.能否對monkey訪問許可權更加精細控制.(授予列許可權)
①希望monkey只可以修改scott.emp的表的sal欄位,怎樣操作?
Grant update on emp(sal) to monkey;s
3.授予alter許可權
如果black用戶要修改scott.emp表的結構,則必須授予alter對象許可權
Grant alter on emp to black;
4.授予execute許可權
如果用戶想要執行其它方案的包/過程/函數,則須有execute許可權.比如為了讓ken可以執行包dbms_transaction,可以授execute許可權

回收對象許可權

回收對象許可權
在oracle9i中,收回對象的許可權可以由對象的所有者來完成,也可以用dba用戶(sys,system)來完成
這裡要說明的時:收回對象許可權後,用戶就不能執行相應的sql命令,但是要注意的是對象的許可權是否會被級聯收回?[級聯回收]
請看一個案例:
image