龙空技术网

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

波波说运维 90

前言:

此时各位老铁们对“oraclevsqlarea”大约比较关怀,同学们都想要知道一些“oraclevsqlarea”的相关知识。那么小编在网上收集了一些有关“oraclevsqlarea””的相关内容,希望你们能喜欢,朋友们快快来学习一下吧!

概述

今天给一个普通用户查询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方面的内容,感兴趣的朋友可以关注一下~

标签: #oraclevsqlarea #oracle授权语句