当我创建同义词时,我收到以下错误

Posted

技术标签:

【中文标题】当我创建同义词时,我收到以下错误【英文标题】:when i am creating synonym i am getting following error 【发布时间】:2017-12-03 09:32:47 【问题描述】:

输入用户名:scott/tiger

连接到: Oracle Database 11g 企业版 11.2.0.1.0 - 64 位生产 具有分区、OLAP、数据挖掘和实际应用程序测试选项

SQL> create synonym sy1 for tests;
create synonym sy1 for tests
*
ERROR at line 1:
ORA-01031: insufficient privileges

【问题讨论】:

不要讽刺:“权限不足”的哪一部分让您感到困惑,究竟是什么? Oracle 是一个安全系统,除非您被授予必要的权限,否则您将无能为力。 【参考方案1】:

错误信息很清楚:

第 1 行出现错误:ORA-01031:权限不足

来自documentation:

先决条件

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

要在其他用户的架构中创建私有同义词,您必须拥有 CREATE ANY SYNONYM 系统权限。

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

您需要询问您的 DBA(或以特权用户身份登录并运行):

GRANT CREATE ANY SYNONYM TO scott;

【讨论】:

GRANT CREATE ANY SYNONYM TO scott * 错误在第 1 行:ORA-01031:权限不足我收到这样的错误 而且我在创建视图创建视图 v1 时也遇到了同样的错误,因为 select * from tests * ERROR at line 1: ORA-01031: 权限不足

以上是关于当我创建同义词时,我收到以下错误的主要内容,如果未能解决你的问题,请参考以下文章

创建同义词 ora-01031 权限不足

无法在 Oracle 中使用函数、过程或序列的同义词

授予指定列的同义词的选择

oracle 中怎么创建同义词?

如何正确地制作公共同义词

Oracle --- 约束视图序列同义词