在oracle中,可以利用“grant create synonym to 用户名”语句解决同义词创建权限不足的问题;该语句可以给指定的用户添加创建同义词权限,想要在架构中创建私有同义词,需要具有“CREATE SYNONYM”系统权限。

本教程操作环境:windows10系统、Oracle 12c版、Dell G3电脑。

oracle同义词创建权限不足怎么办

问题描述

我需要帮助了解用户在指向另一个(不同的)架构对象时创建同义词需要什么授权/特权.

当我尝试下面的操作时,我得到的 ora-01031 权限不足,所以很明显我遗漏了并且无法应用其他所需的权限.我尽可能地进行了搜索,但找不到任何特定于跨架构同义词的内容.

26.png

推荐答案

CREATE SYNONYM 命令 包括:

先决条件

要在您自己的架构中创建私有同义词,您必须具有CREATE SYNONYM 系统权限.

要在另一个用户的架构中创建私有同义词,您必须具有CREATE ANY SYNONYM 系统权限.

要创建PUBLIC同义词,您必须具有CREATE PUBLIC SYNONYM系统权限.

您正在尝试在 READWRITE 自己的架构中创建私有同义词,因此您必须这样做:

解决方法:赋予权限

赋予创建同义词权限,输入grant create synonym to scott; 注意带分号 为scott用户赋予创建同义词权限。

grant create synonym to scott;

25.png

赋予创建视图权限,输入grant create view to scott; 注意带分号 为scott用户赋予创建视图权限。

同义词指向的对象在不同的架构中,但这与此处无关.

如果您的新帐户仅打算访问 GDACS 模式中的对象,并且特别是如果您要授予访问权限的对象很多,那么作为必须为所有可以访问的内容创建同义词的替代方法 在每个会话中更改新用户的 current_schema - 可能是 通过登录触发器.

推荐教程:《Oracle视频教程》

以上就是oracle同义词创建权限不足怎么办的详细内容,转载自php中文网

点赞(706) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部