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