专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

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

ins518 2024-10-17 13:10:15 技术文章 8 ℃ 0 评论

概述

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

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表