默认情况下,函数和过程只有创建者本人才能运行。 通过 GRANT 授权可以允许其他用户运行。
GRANT 语法如下:
GRANT system_privilege | role
TO user | role | PUBLIC [WITH ADMIN OPTION]
GRANT object_privilege | ALL ON schema.object
TO user | role | PUBLIC [WITH GRANT OPTION]
示例:将 hr.log_message 过程的执行权限授予所有人:
obclient> GRANT EXECUTE ON log_message TO PUBLIC;
Query OK, 0 rows affected (0.01 sec)
几个常用的系统权限命令如下:
- CREATE ANY PROCEDURE:创建所有过程的权限
- DROP ANY PROCEDURE: 删除所有过程的权限
- EXECUTE ANY PROCEDURE:执行所有过程的权限
详细信息请参见官网 OceanBase 数据库《管理员指南》的用户权限管理章节。