1 回收系统权限
可以使用REVOKE SQL语句回收由GRANT命令直接授予的系统特权。具有系统特权的ADMIN选项的用户可以从任何其他数据库用户回收特权。
当回收系统特权时,无论是否给予它ADMIN选项,都不会产生级联效应。
回收系统特权的SQL语法是:
REVOKE <system_privilege> FROM
使用场景示例:
- DBA通过ADMIN选项将CREATE TABLE 系统权限授予Joe。
- Joe创建了一个表。
- Joe将CREATE TABLE 系统权限授予Emily。
- Emily创建了一个表。
- DBA从Joe回收CREATE TABLE系统特权。
结果
Joe的表仍然存在,但是Joe不能创建新表。Emily的表仍然存在,她仍然拥有CREATE table 系统权限。
2 回收对象权限
当回收与数据操作语言(data manipulation language, DML)操作相关的权限时,可以观察到级联效应。例如,如果将SELECT ANY TABLE权限授予了一个用户,并且该用户已经创建了使用该表的过程,则必须重新编译用户模式中包含的所有过程,然后才能再次使用它们。
通过GRANT OPTION方式授权,回收对象权限时,也会发生连锁反应。作为用户,只能回收已授予的特权。例如,Bob不能回收Joe授予Emily的对象特权。只有被授予者或具有称为GRANT ANY OBJECT特权的用户才能回收对象特权。
场景示例:
- Joe被授予对employees表的select对象权限,并且具有GRANT选项。
- Joe将employees表的select对象权限授予Emily。
- Joe的对象权限被回收之后,级联Emily的权限也会被回收。
3 练习题
总结系统权限与对象权限的级联回收机制。
最后修改时间:2020-08-10 10:14:55
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




