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

ORA-01031:使用同义词更新表缺权限,求跨用户写入授权方案

解决Oracle跨用户表更新权限不足(ORA-01031)问题

问题核心

你提到用户B可通过同义词查询A.blacklist但无法更新,原因是系统权限SELECT ANY TABLE允许跨用户查询,但写入(UPDATE)需要针对具体表的对象级权限,现有角色/系统权限未覆盖该表的UPDATE权限。

正确授权语法

以用户A或拥有DBA权限的用户身份执行以下语句,仅授予用户B对A.blacklist的UPDATE权限:

GRANT UPDATE ON A.blacklist TO B;

如果需要同时授予INSERT、DELETE等其他写入权限,可合并为:

GRANT INSERT, UPDATE, DELETE ON A.blacklist TO B;

补充说明

  • 同义词仅简化访问路径(让B直接用blacklist代替A.blacklist),权限验证仍基于原表A.blacklist的授权配置。
  • 你列出的系统权限中无UPDATE ANY TABLE,即使存在也不建议使用——它属于全局权限,会让B能更新所有用户的表,不符合"仅针对A.blacklist"的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 11:09:54