问题:
使用USER1等其他用户登录Oracle以后,创建视图,提示“权限不够”,怎么解决?
<wbr><wbr></wbr></wbr>
这是因为USER1这个帐户目前没有创建视图的权限。
解决方法为:
<wbr>首先使用system帐户进行登录<br><wbr><br> 然后执行:</wbr></wbr>
<wbr><wbr><wbr> grant create any view to <span style="color:rgb(69,69,69); font-family:tahoma,helvetica,arial"> USER1</span><br><wbr><wbr><wbr><br> 提示:授权成功。</wbr></wbr></wbr></wbr></wbr></wbr>
再使用USER1登录就可以创建视图了。
如果还是问题还是没有解决:
即便是
grant dba to USER1;
grant dba toUSER2;
可能还会报这种错误,那么就按下面的方法即可实现创建视图:
如果用户USER1创建视图时,视图语句包含有USER2中的表,那么需要在USER2登陆的会话窗口中对USER1赋予创建的权限。
如果用户USER2创建视图时,视图语句包含有USER1中的表,那么需要在USER1登陆的会话窗口中对USER2赋予创建的权限。
附录:如果以上方法不能解决您的问题,可以尝试以下方法。记录下来。便于记忆:
<wbr> 描述:</wbr>
<wbr> 同一个数据库:DB1</wbr>
<wbr> 两个自定义用户:分别为 USER1、USER2</wbr>
<wbr> 在USER1创建视图,其中试图内包含USER2中的表。 提示“权限不足”</wbr>
<wbr> 执行以下SQL,根据自己用户不同需修改使用:</wbr>
<wbr> --为USER1授权</wbr>
<wbr> GRANT CREATE ANY TABLE TO USER1;<br><wbr> GRANT SELECT ANY TABLE TO USER1;<br><wbr> GRANT COMMENT ANY TABLE TO USER1;<br><wbr> GRANT LOCK ANY TABLE TO USER1;<br><wbr> GRANT SELECT ANY DICTIONARY TO USER1;</wbr></wbr></wbr></wbr></wbr>
<wbr></wbr>
<wbr> --为USER2授权</wbr>
<wbr> GRANT CREATE ANY TABLE TO USER2;<br><wbr> GRANT SELECT ANY TABLE TO USER2;<br><wbr> GRANT COMMENT ANY TABLE TO USER2;<br><wbr> GRANT LOCK ANY TABLE TO USER2;<br><wbr> GRANT SELECT ANY DICTIONARY TO USER2;</wbr></wbr></wbr></wbr></wbr>