You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AWS Oracle RDS中为SYS对象权限授予GRANT OPTION

AWS RDS Oracle 授予SYS对象带GRANT OPTION权限的解决方法

报错根因

rdsadmin.rdsadmin_util.grant_sys_object 存储过程的第四个参数为布尔类型,不支持按参数位置直接传值,必须显式指定参数名才可以被PL/SQL正确解析,否则会触发PLS-00306参数不匹配报错。

正确授权语句

推荐使用PL/SQL块写法,可读性更高:

BEGIN
    rdsadmin.rdsadmin_util.grant_sys_object(
        p_obj_name     => 'DBA_OBJECTS',
        p_grantee      => 'MASTER_USER',
        p_privilege    => 'SELECT',
        p_grant_option => TRUE
    );
END;
/

也可以使用exec简写:
exec rdsadmin.rdsadmin_util.grant_sys_object(p_obj_name=>'DBA_OBJECTS',p_grantee=>'MASTER_USER',p_privilege=>'SELECT',p_grant_option=>true);

有效性验证

授权完成后,使用被授权用户登录数据库,执行如下语句检查权限配置:

SELECT grantable
FROM dba_tab_privs
WHERE grantee = 'MASTER_USER'
  AND owner = 'SYS'
  AND table_name = 'DBA_OBJECTS'
  AND privilege = 'SELECT';

返回结果为YES即代表已成功授予带GRANT OPTION的权限。

注意事项

  • 传入的对象名、用户名大小写敏感,Oracle默认存储的元数据为大写,需确保参数值与实际值大小写完全匹配
  • 只有RDS主用户,或已经被授予rdsadmin_util执行权限的用户可以运行上述存储过程
  • RDS对部分SYS内部对象做了权限限制,此类对象无法通过该方法授权

内容的提问来源于stack exchange,提问作者Thomas Carlton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 06:54:06