oracle查询语句 from v$statname a, v$mystat b权限不足

create or replace view stats
as select 'STAT...' || a.name name, b.value
from v$statname a, v$mystat b
where a.statistic# = b.statistic#
这句查询语句不能执行,原因是第三行权限不足!但是我使用sysdba进行操作的,而且我单独查询v$statname 表和 v$mystat 表也都能查得到所有数据,但是联合起来查,就不行了,这是为什麽????!!!
求高手相助!

这个我试了一下,我的方法把O7_DICTIONARY_ACCESSIBILITY这个初始化参数的值改为TRUE,之后便可以顺利的执行该语句。其实这个参数决定了那些只供sys用户才能查看的数据字典或者动态性能视图是否允许其他具有select any table这一权限的其他用户查看。至于你说的为什么单独查可以,联合起来就不可以我还没想明白,希望下面的高人指点一下。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-08
用SYS登录,授权给相应的用户,用下面的语句,
grant select on v_$statname to user;
自动统计功能可以关掉。
最后的这个,超时断开问题,可以设置USER_PROFILES里面看到的IDLE_TIME值,
首先查看你的当前用户的PROFILE是哪个,
select profile from dba_users where username='SCOTT' ;
假如是DEFAULT这个PROFILE,那么修改IDLE_TIME这个值
alter profile default limit idle_time unlimited ;
必要时创建新的PROFILE。
第2个回答  2011-09-08
语句本身没问题,我这里可以正常执行。报错的具体信息贴出来看看。