当前位置:数据库 > Oracle >>

Oracle创建视图view权限不足问题剖析

Oracle创建视图view权限不足问题剖析
 
问题:
使用USER1等其他用户登录Oracle以后,创建视图,提示“权限不够”,怎么解决?
   
这是因为USER1这个帐户目前没有创建视图的权限。
 
解决方法为:
 首先使用system帐户进行登录
 
然后执行:
    grant create any view to USER1
   
提示:授权成功。
 
再使用USER1登录就可以创建视图了。
 
如果还是问题还是没有解决:
 
即便是
grant dba to USER1;
grant dba to USER2;
 
可能还会报这种错误,那么就按下面的方法即可实现创建视图:
 
如果用户USER1创建视图时,视图语句包含有USER2中的表,那么需要在USER2登陆的会话窗口中对USER1赋予创建的权限。
如果用户USER2创建视图时,视图语句包含有USER1中的表,那么需要在USER1登陆的会话窗口中对USER2赋予创建的权限。
 
附录:如果以上方法不能解决您的问题,可以尝试以下方法。记录下来。便于记忆:
  描述:
  同一个数据库: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;
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,