方法:1.利用「revoke system_privilege from user|role」指令取消系統權限;2、利用「revoke obj_privilege|allon object from user|role」指令取消物件權限。
本教學操作環境:Windows10系統、Oracle 11g版、Dell G3電腦。
Oracle撤銷權限
Oracle撤銷權限的概念就是對使用者或角色的權限的回收,也就是對用戶刪除某個系統權限或刪除某個物件的操作權限。
Oracle撤銷系統權限
Oracle撤銷系統權限只有具有DBA權限的使用者才能撤銷(revoke)操作。撤銷系統權限的語法如下:
revoke system_privilege from user|role;
語法解析:
1、system_privilege:指的是撤銷的系統權限的名稱,撤銷系統權限時,必須是該使用者俱有了該系統權限,假如不存在系統權限是不能進行撤銷的。
2、user|role:指的是撤銷權限的物件是使用者還是角色。
例1、利用revoke指令撤銷使用者teacher的create session權限,程式碼如下:
revoke create session from teacher;
然後透過資料字典dba_sys_privs可以查詢一下TEACHER的系統權限,發現create session已經不存在了。
Oracle撤銷物件權限
Oracle撤銷物件權限也是利用revoke指令進行的,語法結構如下:
revoke obj_privilege|all on object from user|role;
語法解析:
1、obj_privilege|all:指的是對應的資料庫物件的操作權限,all表示撤銷所有的操作權限。
範例2、利用revoke指令撤銷使用者teacher對學生資訊表(stuinfo)的delete(刪除)的操作權限,程式碼如下:
revoke delete on student.stuinfo from teacher ;
然後,透過資料字典dba_tab_privs查詢一下stuinfo的操作權限,發現已經刪除,只剩下查詢權限。
注意:在進行撤銷權限時,系統權限的撤銷和物件權限的撤銷是不一樣的,透過上一章Oracle權限授權管理知道,系統權限的授權不是級聯的,物件權限的授權是級聯的。在撤銷權限時也是一樣的,在撤銷物件權限時,那麼該使用者授予給其它使用者的物件權限也要跟著收回。而撤銷系統權限就不會收回其它使用者的權限。
推薦教學:《Oracle影片教學》
以上是oracle怎麼取消權限的詳細內容。更多資訊請關注PHP中文網其他相關文章!