在oracle中,可以利用“grant create synonym to 用戶名”語句解決同義詞創建權限不足的問題;該語句可以給指定的用戶添加創建同義詞權限,想要在架構中創建私有同義詞,需要具有“CREATE SYNONYM”系統權限。
本教程操作環境:windows10系統、Oracle 12c版、Dell G3電腦。
oracle同義詞創建權限不足怎么辦
問題描述
我需要幫助了解用戶在指向另一個(不同的)架構對象時創建同義詞需要什么授權/特權.
當我嘗試下面的操作時,我得到的 ora-01031 權限不足,所以很明顯我遺漏了并且無法應用其他所需的權限.我盡可能地進行了搜索,但找不到任何特定于跨架構同義詞的內容.
推薦答案
CREATE SYNONYM 命令 包括:
先決條件
要在您自己的架構中創建私有同義詞,您必須具有CREATE SYNONYM 系統權限.
要在另一個用戶的架構中創建私有同義詞,您必須具有CREATE ANY SYNONYM 系統權限.
要創建PUBLIC同義詞,您必須具有CREATE PUBLIC SYNONYM系統權限.
您正在嘗試在 READWRITE 自己的架構中創建私有同義詞,因此您必須這樣做:
解決方法:賦予權限
賦予創建同義詞權限,輸入grant create synonym to scott; 注意帶分號 為scott用戶賦予創建同義詞權限。
grant?create?synonym?to?scott;
賦予創建視圖權限,輸入grant create view to scott; 注意帶分號 為scott用戶賦予創建視圖權限。
同義詞指向的對象在不同的架構中,但這與此處無關.
如果您的新帳戶僅打算訪問 GDACS 模式中的對象,并且特別是如果您要授予訪問權限的對象很多,那么作為必須為所有可以訪問的內容創建同義詞的替代方法 在每個會話中更改新用戶的 current_schema – 可能是 通過登錄觸發器.
推薦教程:《Oracle視頻教程》