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

Oracle中给用户NOUR ELKHUZAMA授予INHERIT PRIVILEGES权限报错求助

问题解决:ORA-00905错误与ORDS方案注册权限配置

1. 错误原因

Oracle数据库不支持INHERIT PRIVILEGES语法——这是PostgreSQL专属的权限特性,你执行的语句在Oracle中属于无效语法,因此触发ORA-00905错误。

2. ORDS方案注册的正确权限配置

针对将NOUR ELKHUZAMA方案注册到ORDS的需求,需根据ORDS的访问逻辑配置正确权限:

2.1 授予ORDS用户方案对象访问权限

假设ORDS使用默认用户ORDS_PUBLIC_USER,需授予其访问目标方案下对象的权限:

  • 授予现有对象权限:
    GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA "NOUR ELKHUZAMA" TO ORDS_PUBLIC_USER;
    GRANT EXECUTE ON ALL PROCEDURES IN SCHEMA "NOUR ELKHUZAMA" TO ORDS_PUBLIC_USER;
    
  • 自动授权未来创建的对象:
    ALTER DEFAULT PRIVILEGES IN SCHEMA "NOUR ELKHUZAMA" 
    GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO ORDS_PUBLIC_USER;
    
    ALTER DEFAULT PRIVILEGES IN SCHEMA "NOUR ELKHUZAMA" 
    GRANT EXECUTE ON PROCEDURES TO ORDS_PUBLIC_USER;
    

2.2 确保方案用户具备基础权限

如果ORDS需要以方案用户身份连接,需确保NOUR ELKHUZAMA用户拥有会话创建权限:

GRANT CREATE SESSION TO "NOUR ELKHUZAMA";

2.3 (可选)使用角色统一管理权限

若需批量授权,可创建角色并分配给相关用户:

-- 创建角色
CREATE ROLE NOUR_SCHEMA_ACCESS;

-- 授予角色方案对象权限
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA "NOUR ELKHUZAMA" TO NOUR_SCHEMA_ACCESS;
GRANT EXECUTE ON ALL PROCEDURES IN SCHEMA "NOUR ELKHUZAMA" TO NOUR_SCHEMA_ACCESS;

-- 将角色授予ORDS用户
GRANT NOUR_SCHEMA_ACCESS TO ORDS_PUBLIC_USER;
-- 若需公开访问可授予PUBLIC(按需使用)
-- GRANT NOUR_SCHEMA_ACCESS TO PUBLIC;

3. 验证ORDS注册

完成权限配置后,重新尝试ORDS方案注册操作,通常可解决权限不足导致的注册失败问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 14:55:00