详解Oracle视图V$、GV$、X$、V_$、GV_$之间的关系

概述

玩Oracle的朋友都知道里面有很多视图,像V$、GV$、X$、V_$、GV_$,那他们之间又有什么关系呢?


Oracle视图之间关系

GV$:全局视图,针对多个实例环境。

V$:针对某个实例的视图。

X$:是GV$视图的数据来源,oracle内部表。

GV_$:是GV$的同义词。

V_$:是V$的同义词。

我们可以使用V$FIXED_VIEW_DEFINITION视图查询到V$视图和GV$视图的定义。

详解Oracle视图V$、GV$、X$、V_$、GV_$之间的关系

在$ORACLE_HOME/rdbms/admin/catalog.sql中执行了cdfixed.sql脚本。在这个脚本中可以找到GV_、$V_$同义词的创建。

详解Oracle视图V$、GV$、X$、V_$、GV_$之间的关系


授权举例

详解Oracle视图V$、GV$、X$、V_$、GV_$之间的关系

这里一开始授权失败是因为v$这类我们经常查的视图都是v_$开头视图的同义词,所以,在进行授权时需要直接授予用户v_$的查询权限。


关于V$、GV$、X$、V_$、GV_$的区分就介绍到这了,后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~

详解Oracle视图V$、GV$、X$、V_$、GV_$之间的关系