【问题标题】:create synonym ora-01031 insufficient privileges创建同义词 ora-01031 权限不足
【发布时间】:2014-09-09 21:18:45
【问题描述】:

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

当我尝试以下操作时,我得到 ora-01031 权限不足,因此显然我错过了并且未能应用其他所需的权限。我尽可能地进行了搜索,但找不到任何特定于跨模式同义词的内容。

CREATE USER test IDENTIFIED BY pw DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP;
ALTER USER test IDENTIFIED BY pw;
GRANT CONNECT, RESOURCE TO test;

-- ... create a bunch of stuff in test...

CREATE USER READWRITE IDENTIFIED BY pw DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE    TEMP;
ALTER USER READWRITE IDENTIFIED BY pw;
GRANT CONNECT, RESOURCE TO READWRITE;

GRANT SELECT ON GDACS.FIXALARMS TO PUBLIC;
GRANT UPDATE, INSERT ON GDACS.FIXALARMS TO READWRITE; 

CONNECT READWRITE/pw;

CREATE SYNONYM FIXALARMS for test.FIXALARMS;
ORA-01031 insufficient privileges

【问题讨论】:

标签: oracle schema privileges grant synonym


【解决方案1】:

the CREATE SYNONYM command 的文档包括:

先决条件

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

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

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

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

GRANT CREATE SYNONYM TO READWRITE;

同义词指向的对象位于不同的模式中,但这与此处无关。


如果您的新帐户仅要访问 GDACS 架构中的对象,特别是如果您有很多要授予访问权限的对象,那么作为您可以为所有可能创建同义词的替代方法alter the new user's current_schema在每个会话中 - 可能是 via a logon trigger

【讨论】:

    猜你喜欢
    • 2020-12-10
    • 2010-09-13
    • 2013-04-14
    • 2021-12-30
    • 1970-01-01
    • 2017-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多