2014-07-18 21 views
8

Tôi cần trợ giúp tìm hiểu những quyền/đặc quyền mà người dùng cần để TẠO một SYNONYM khi nó trỏ đến một đối tượng lược đồ khác (khác).tạo từ đồng nghĩa hoặca-01031 không đủ đặc quyền

Khi tôi thử dưới đây, tôi nhận được đặc quyền không đủ ora-01031, vì vậy rõ ràng là tôi bị thiếu và không áp dụng các đặc quyền cần thiết khác. Tôi đã tìm kiếm cũng như tôi có thể nhưng không thể tìm thấy bất cứ điều gì cụ thể cho các từ đồng nghĩa chéo.

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 
+0

Bạn đã [cấp 'CREATE SYNONYM' cho người dùng] (http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_7001.htm#SQLRF54350) và bỏ lỡ câu hỏi đó chưa? –

Trả lời

11

Các tài liệu cho the CREATE SYNONYM command bao gồm:

Điều kiện tiên quyết

Để tạo một từ đồng nghĩa riêng trong schema của riêng mình, bạn phải có CREATE SYNONYM hệ thống đặc quyền.

Để tạo một từ đồng nghĩa riêng trong giản đồ của người dùng khác, bạn phải có đặc quyền hệ thống CREATE ANY SYNONYM.

Để tạo một từ đồng nghĩa PUBLIC, bạn phải có đặc quyền hệ thống CREATE PUBLIC SYNONYM.

Bạn đang cố gắng để tạo ra một từ đồng nghĩa riêng trong schema riêng READWRITE 's, vì vậy bạn cần phải có để làm:

GRANT CREATE SYNONYM TO READWRITE; 

Đối tượng từ đồng nghĩa được trỏ đến là trong một sơ đồ khác nhau, nhưng điều đó không liên quan ở đây.

Các vấn đề liên quan