問(wèn)題:使用scott登錄Oracle以后,創(chuàng)建視圖,提示“權(quán)限不夠”,怎樣解決?
回答:
這是由于scott這個(gè)帳戶目前沒(méi)有創(chuàng)建視圖的權(quán)限。解決方法為:
首先使用system帳戶進(jìn)行登錄,其中“tigertiger”為安裝Oracle時(shí)所指定的密碼(可修改):
sqlplus system/tigertiger
然后履行:
grant create any view to scott
提示:授權(quán)成功。
履行:
exit
退出當(dāng)前system帳戶。
再使用sqlplus登錄就能夠創(chuàng)建視圖了,如:
sqlplus scott/tigert
下面創(chuàng)建1個(gè)最簡(jiǎn)單視圖:
create or replace view v1
as
select * from t1;
有時(shí)候上面的方法還是沒(méi)法解決問(wèn)題,就使用下面的方法:
--創(chuàng)建視圖權(quán)限,1般網(wǎng)上找都是說(shuō)的這句,但是光有這句還是沒(méi)法創(chuàng)建
grant create view to B;
--授與查詢權(quán)限
grant select any table to B;
--授與權(quán)限
grant select any dictionary to B;
附錄:如果以上方法不能解決您的問(wèn)題,可以嘗試以下方法。 反正我的問(wèn)題是解決了,記錄下來(lái)。害我找大半天;
描寫(xiě):
同1個(gè)數(shù)據(jù)庫(kù):DB1
兩個(gè)自定義用戶:分別為 USER1、USER2
在USER1創(chuàng)建視圖,其中試圖內(nèi)包括USER2中的表。 提示“權(quán)限不足”
履行以下SQL,根據(jù)自己用戶不同需修改使用:
--為USER1授權(quán)
GRANT CREATE ANY TABLE TO USER1;
GRANT SELECT ANY TABLE TO USER1;
GRANT COMMENT ANY TABLE TO USER1;
GRANT LOCK ANY TABLE TO USER1;
GRANT SELECT ANY DICTIONARY TO USER1;
--為USER2授權(quán)
GRANT CREATE ANY TABLE TO USER2;
GRANT SELECT ANY TABLE TO USER2;
GRANT COMMENT ANY TABLE TO USER2;
GRANT LOCK ANY TABLE TO USER2;
GRANT SELECT ANY DICTIONARY TO USER2;