首批通过分布式安全可靠测评,为关键业务系统打造
直接授予权限
更新时间:2026-03-02 20:46:16
用户的权限,包含直接授予的系统权限或者对象权限,也包含授予角色后,通过角色包获得的权限。大部分操作需要的权限,不论是直接授予的还是通过角色间接拥有的权限,都可以满足条件。本文介绍如何直接授予用户权限。
对于下列场景,需要有直接权限才可以:
- 创建视图时,访问视图中的对象所需的权限。
- 执行定义者权限的有名 PL 块中的语句所需的权限。
前提条件
当授予对象权限时,当前用户必须是对象的所有者,或者拥有被授予的权限(例如,
test1把表t1的SELECT权限授予test2,则test1必须拥有表t1的SELECT的权限),并且拥有GRANT OPTION权限,或者拥有GRANT ANY OBJECT PRIVILEGE权限,才能授予成功。当授予系统权限或角色时,当前用户必须拥有被授予的权限或角色,并且拥有
GRANT OPTION权限,或者拥有GRANT ANY PRIVILEGE权限或GRANT ANY ROLE权限,才能授予成功。
查看当前拥有权限的操作请参见 查看用户权限。如果您没有所需的权限,请联系管理员为您添加。查看当前拥有角色的操作请参见 查看角色。
注意事项
进行授权操作时,需要注意以下事项:
同时把多个权限赋予用户时,权限类型用英文逗号(,)分隔。
用户被授权后,该用户只有重新连接 OceanBase 数据库,权限才能生效。
操作示例
授予系统权限
将系统权限
CREATE SEQUENCE授予用户test。obclient> GRANT CREATE SEQUENCE TO test;授予对象权限
将视图
emp_view的SELECT、UPDATE权限授予用户test。obclient> GRANT SELECT, UPDATE ON emp_view TO test;
关于 GRANT 语句的更多信息,参见 GRANT。