ITPub博客

首页 > Linux操作系统 > Linux操作系统 > v$视图权限

v$视图权限

原创 Linux操作系统 作者:Lee_Yan 时间:2013-02-15 21:08:55 0 删除 编辑
        学习《Expert Oracle Database Architecture 2nd Edition》,Runstats第一段演示脚本,创建stats视图,如下:
liyan@TEST> create or replace view stats
  2  as select 'STAT...' || a.name name, b.value
  3  from v$statname a, v$mystat b
  4  where a.statistic# = b.statistic#
  5  union all
  6  select 'LATCH.' || name, gets
  7  from v$latch; 
        说明:用户liyan由sys用户创建,并授予dba角色。
        执行后出现如下报错:
from v$statname a, v$mystat b
                   *
ERROR at line 3:
ORA-01031: insufficient privileges
        用户具有dba权限,且单独执行语句中查询部分,可正常返回结果,亦可创建视图。出现上述问题的原因为:具有dba角色的用户可以创建视图也可以查看其它视图,但是如果该用户想要基于一个视图创建一个视图,那么必须显式为该用户授予select 该视图的权限。
        授权中再次出现报错:
liyan@TEST> conn / as sysdba
Connected.
sys@TEST> grant select on v$statname to liyan;
grant select on v$statname to liyan
                *
ERROR at line 1:
ORA-02030: can only select from fixed tables/views
        错误原因: v$statname只是v_$statname的同义词,应改为
sys@TEST> grant select on v_$statname to liyan;
Grant succeeded.

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28554493/viewspace-754132/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2013-01-17

  • 博文量
    2
  • 访问量
    4365