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

Oracle用户获权后跨模式建表成功但创建索引提示权限不足

跨模式建表成功却无法创建索引(ORA-01031)的问题解决

场景还原

管理员授权操作

GRANT CREATE ANY TABLE TO APP_DBA_ROLE WITH ADMIN OPTION;
Grant succeeded
GRANT CREATE ANY INDEX TO APP_DBA_ROLE WITH ADMIN OPTION;
Grant succeeded

GRANT ALTER ANY TABLE TO APP_DBA_ROLE WITH ADMIN OPTION;
Grant succeeded
GRANT ALTER ANY INDEX TO APP_DBA_ROLE WITH ADMIN OPTION;

GRANT APP_DBA_ROLE TO JOE;
Grant succeeded

用户JOE的执行结果

CREATE TABLE FDS_MAINT.LOG (LOG_ID NUMBER)
successfully created

CREATE UNIQUE INDEX FDS_MAINT.LOG ON FDS_MAINT.LOG (LOG_ID);
ORA-01031: insufficient privileges

问题原因

这是Oracle的误导性报错——你试图创建的索引名称和同模式下的表名完全重复。Oracle要求同一模式下,表、索引、视图等对象的名称必须唯一,即便权限足够,命名冲突也会触发这个权限不足的错误提示。

解决方法

修改索引名称,确保它和FDS_MAINT模式下的LOG表名不重复即可,例如:

CREATE UNIQUE INDEX FDS_MAINT.LOG_PK ON FDS_MAINT.LOG (LOG_ID);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 21:37:06