ORDS执行ORA-01031权限不足问题求助
解决ORDS启用AUTOREST时ORA-01031权限不足问题
你遇到的问题是因为TEST用户缺少跨模式操作MAIN.SOME_TABLE以及执行ORDS核心存储过程的必要权限,按以下步骤处理:
以拥有DBA权限的用户(比如SYS)执行权限授予语句:
-- 授予执行ORDS存储过程的权限 GRANT EXECUTE ON ORDS_METADATA.ORDS TO TEST; -- 授予对目标表的必要权限(按需选择宽泛或精细权限) -- 方式1:针对特定表的最小权限(推荐生产环境使用) GRANT ALTER, SELECT ON MAIN.SOME_TABLE TO TEST; -- 方式2:如果需要操作MAIN模式下多个对象,可授予模式级权限(适合测试环境) GRANT ALTER ANY TABLE, SELECT ANY TABLE TO TEST;切换回TEST用户,重新执行你的PL/SQL代码:
BEGIN ORDS.ENABLE_OBJECT(p_enabled => TRUE, p_schema => 'MAIN', p_object => 'SOME_TABLE', p_object_type => 'TABLE', p_object_alias => 'some_table', p_auto_rest_auth => FALSE); commit; END; /
说明:生产环境优先选择针对特定表的精细权限,避免过度授权带来安全风险;测试环境可临时使用模式级权限提升操作效率。
内容的提问来源于stack exchange,提问作者Alex1__1
相关产品推荐
相关产品推荐

