17.2.3 撤销权限
撤销权限也叫收回权限,也就是删除用户的系统权限或者对象权限。使用企业管理器删除用户的系统权限或者对象权限非常简单,只是在添加系统权限或对象权限时,选择把当前用户的权限移除就可以,如图17.13所示,把所选权限列表框中的ALTER权限去除,只需要选中该权限,然后单击【移去】按钮即可完成。
撤销权限在SQLPlus中的语句就和授予权限有很大差别了,这里重点讲解如何在SQLPlus中撤销系统权限和对象权限。
1.撤销系统权限
撤销系统权限的前提是当前的用户已经存在要撤销的系统权限,另外,撤销权限的操作只有数据库管理员才可以操作。具体语法如下:
REVOKE system_privilege
FROM user|role
【示例13】撤销USER1的系统权限
利用上面的语法,完成撤销USER1的create session权限。具体代码如下:
REVOKE create session FROM USER1
2.撤销对象权限
撤销对象权限也使用REVOKE关键字完成。具体语法如下:
REVOKE object_privilege|ALL
ON schema.object
FROM user|role
[CASCADE CONTRAINTS]
这里需要说明的就是CASCADE CONTRAINTS选项,它表示该用户授予其他用户的权限也一并撤销。
【示例14】撤销用户USER1的对象权限
利用上面的语法,完成撤销用户USER1的DELETE权限。具体代码如下:
REVOKE DELETE ON AA FROM USER1;
说明 在撤销用户权限时,撤销系统权限与撤销对象权限是不同的。如果撤销用户的系统权限,那么该用户授予其他用户的系统权限仍然存在;而撤销了用户的对象权限后,用户授予其他用户的对象权限也同时被撤销了。