卡飞资源网

专业编程技术资源共享平台

Oracle授权V$视图为什么是授权v_$视图?

概述

今天给一个普通用户查询v$sqltext视图的权限,报ORA-02030: can only select from fixed tables/views错误。报错截图如下:

下面记录下解决的过程,做个备忘!


小插曲--v$sql/v$sqltext/v$sqlarea

1)v$sql :存储的是具体的SQL 和执行计划相关信息,实际上,v$sqlarea 可以看做 v$sql 根据 sqltext 等 做了 group by 之后的信息

2)v$sqltext:用途很简单,就是用来查看完整的SQL语句

3)v$sqlarea :存储的SQL 和一些相关的信息,比如累计的执行次数,逻辑读,物理读等统计信息


解决过程

SQL> select OWNER,SYNONYM_NAME,TABLE_OWNER,TABLE_NAME from dba_synonyms t where t.synonym_name = 'V$SQLTEXT';

直接把v_$sqltext视图的权限赋给用户,然后该用户就可以查询v$sqltext视图了。

SQL> grant select on v_$sqltext to rfuser;
Grant succeeded.

登录rfuser用户检查是否可以查询,可以看到正常查询。


V_$是V$的同义词,其实看到v$开头的,如果要授权就授权v_$就可以了。后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言