详解Oracle数据库报错ORA-02030解决办法--授权v$视图

概述

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

详解Oracle数据库报错ORA-02030解决办法--授权v$视图

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


小插曲--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';

详解Oracle数据库报错ORA-02030解决办法--授权v$视图

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

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

详解Oracle数据库报错ORA-02030解决办法--授权v$视图

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

详解Oracle数据库报错ORA-02030解决办法--授权v$视图


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

详解Oracle数据库报错ORA-02030解决办法--授权v$视图

相关推荐