当被授予角色的用户无需再拥有角色包含的权限时,此用户的角色需要被及时回收。例如:员工A是财务,可以查看公司的资金情况,若员工A要离职,则需收回他的财务角色。系统管理员(SYS用户、DBA角色的用户)拥有系统所有权限,包含GRANT ANY ROLE系统权限,所以系统管理员可以执行回收角色语句。
常用的语法格式:
REVOKE role_name FROM revokee;
其中,
role_name:角色名;
revokee:被回收权限的用户或角色。
示例,回收用户smith的teacher角色:
REVOKE teacher FROM smith;
要注意的是,如果回收角色,执行REVOKE操作的用户需要满足如下条件之一:已被授予该角色,且授权时携带WITH GRANT OPTION属性。或是被回收角色的创建者。