方法: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撤销系统权限

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中文网

点赞(564) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部