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

use*_*330 9 oracle privileges schema grant synonym

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

当我尝试以下操作时,我得到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
Run Code Online (Sandbox Code Playgroud)

Ale*_*ole 14

用于该文档CREATE SYNONYM命令包括:

先决条件

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

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

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

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

GRANT CREATE SYNONYM TO READWRITE;
Run Code Online (Sandbox Code Playgroud)

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