oracle怎么取消權(quán)限

方法:1、利用“revoke system_privilege from user|role”命令取消系統(tǒng)權(quán)限;2、利用“revoke obj_privilege|allon Object from ?user|role”命令取消對(duì)象權(quán)限。

oracle怎么取消權(quán)限

本教程操作環(huán)境:Windows10系統(tǒng)、oracle 11g版、Dell G3電腦。

oracle怎么取消權(quán)限

Oracle撤銷權(quán)限

Oracle撤銷權(quán)限的概念就是對(duì)用戶或角色的權(quán)限的回收,也就是對(duì)用戶刪除某個(gè)系統(tǒng)權(quán)限或者刪除某個(gè)對(duì)象的操作權(quán)限。

Oracle撤銷系統(tǒng)權(quán)限

Oracle撤銷系統(tǒng)權(quán)限只有具有dba權(quán)限的用戶才能進(jìn)行撤銷(revoke)操作。撤銷系統(tǒng)權(quán)限的語(yǔ)法如下:

revoke?system_privilege?from?user|role;

語(yǔ)法解析:

1、system_privilege:指的是撤銷的系統(tǒng)權(quán)限的名稱,撤銷系統(tǒng)權(quán)限時(shí),必須是該用戶具有了該系統(tǒng)權(quán)限,假如不存在系統(tǒng)權(quán)限是不能進(jìn)行撤銷的。

2、user|role:指的是撤銷權(quán)限的對(duì)象是用戶還是角色。

例1、利用revoke命令撤銷用戶teacher的create?Session權(quán)限,代碼如下:

revoke?create?session?from?teacher;

然后通過(guò)數(shù)據(jù)字典dba_sys_privs可以查詢一下TEACHER的系統(tǒng)權(quán)限,發(fā)現(xiàn)create?session已經(jīng)不存在了。

Oracle撤銷對(duì)象權(quán)限

Oracle撤銷對(duì)象權(quán)限也是利用revoke命令進(jìn)行的,語(yǔ)法結(jié)構(gòu)如下:

revoke?obj_privilege|all on?object from??user|role;

語(yǔ)法解析:

1、obj_privilege|all:指的是對(duì)應(yīng)的數(shù)據(jù)庫(kù)對(duì)象的操作權(quán)限,all表示把所有的操作權(quán)限都撤銷。

例2、利用revoke命令撤銷用戶teacher對(duì)學(xué)生信息表(stuinfo)的delete(刪除)的操作權(quán)限,代碼如下:

revoke?delete??on?student.stuinfo?from??teacher?;

然后,通過(guò)數(shù)據(jù)字典dba_tab_privs查詢一下stuinfo的操作權(quán)限,發(fā)現(xiàn)已經(jīng)刪除,只剩下查詢權(quán)限。

注意:在進(jìn)行撤銷權(quán)限時(shí),系統(tǒng)權(quán)限的撤銷和對(duì)象權(quán)限的撤銷是不一樣的,通過(guò)上一章Oracle權(quán)限授權(quán)管理中知道,系統(tǒng)權(quán)限的授權(quán)不是級(jí)聯(lián)的,對(duì)象權(quán)限的授權(quán)是級(jí)聯(lián)的。在撤銷權(quán)限時(shí)也是一樣的,在撤銷對(duì)象權(quán)限時(shí),那么該用戶授予給其它用戶的對(duì)象權(quán)限也要跟著收回。而撤銷系統(tǒng)權(quán)限就不會(huì)收回其它用戶的權(quán)限。

推薦教程:《Oracle視頻教程

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊5 分享