在oracle中,可以利用「grant create synonym to 用戶名」語句解決同義詞創建權限不足的問題;該語句可以給指定的用戶添加創建同義詞權限,想要在架構中創建私有同義詞,需要具有“CREATE SYNONYM”系統權限。
本教學操作環境:windows10系統、Oracle 12c版、Dell G3電腦。
問題描述
#我需要幫助了解用戶在指向另一個(不同的)架構物件時創建同義詞需要什麼授權/特權.
當我嘗試下面的操作時,我得到的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影片教學》
以上是oracle同義詞創建權限不足怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!