问题:使用scott登录Oracle以后,创建视图,提示“权限不够”,怎么解决?
回答:
这是因为scott这个帐户目前没有创建视图的权限。解决方法为:
首先使用system帐户进行登录,其中“tigertiger”为安装Oracle时所指定的密码(可修改):
sqlplus system/tigertiger
然后执行:
grant create any view to scott
提示:授权成功。
执行:
exit
退出当前system帐户。
再使用sqlplus登录就可以创建视图了,如:
sqlplus scott/tigert
下面创建一个最简单视图:
create or replace view v1
as
select * from t1;
有时候上面的方法还是无法解决问题,就使用下面的方法:
--创建视图权限,一般网上找都是说的这句,但是光有这句还是无法创建
grant create view to B;
--授予查询权限
grant select any table to B;
--授予权限
grant select any dictionary to B;
附录:如果以上方法不能解决您的问题,可以尝试以下方法。 反正我的问题是解决了,记录下来。害我找大半天;
描述:
同一个数据库:DB1
两个自定义用户:分别为 USER1、USER2
在USER1创建视图,其中试图内包含USER2中的表。 提示“权限不足”
执行以下SQL,根据自己用户不同需修改使用:
--为USER1授权
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授权
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;