知识大全 Oracle动态视图
Posted 视图
篇首语:少年乘勇气,百战过乌孙。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle动态视图相关的知识,希望对你有一定的参考价值。
Oracle动态视图 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
在oracle运维的过程中 经常会使用到一些以V$开头的动态视图 比如V$session 有一次偶然看到有人用V_$session 初以为别人写错了 没想到desc v_$session以后能看到和v$session一样的结构 再以后又发现以gv$开头的视图等等 趁这次在一台Linux系统上装oracle的机会 终于弄清楚了这些动态视图与相应表之间的关系
这些都是由oracle自己管理的数据结构 得从v$fixed_table入手
[oracle@ admin]$ sqlplus sys/sys@archdw as sysdba
SQL*Plus: Release Production on Mon Dec : :
Copyright (c) Oracle All rights reserved
Connected to:
Oracle Database g Enterprise Edition Release – Production
With the Partitioning OLAP Data Mining and Real Application Testing options
SQL> desc v$fixed_table;
Name Null? Type
—————————————– ——– —————————
NAME VARCHAR ( )
OBJECT_ID NUMBER
TYPE VARCHAR ( )
TABLE_NUM NUMBER
SQL> select * from v$fixed_table
NAME OBJECT_ID TYPE TABLE_NUM
—————————— ——— —– ———
X$KQFTA TABLE
X$KQFVI TABLE
GV$PROCESS VIEW
V$PROCESS VIEW
GV$BGPROCESS VIEW
………………………………………
从上面可以看到GV$与V$是视图 X$是表 那它们之间是什么关系呢?从另一个视图v$fixed_view_definition中得到如下信息(以v$fixed_table为例)
SQL> set linesize
SQL> col view_name for a
SQL> col view_definition for a
SQL> select * from v$fixed_view_definition where view_name= V$FIXED_TABLE ;
VIEW_NAME VIEW_DEFINITION
——————— ——————————————————————————–
V$FIXED_TABLE select NAME OBJECT_ID TYPE TABLE_NUM from GV$FIXED_TABLE where inst_id =
USERENV( Instance )
SQL> select * from v$fixed_view_definition where view_name= GV$FIXED_TABLE ;
VIEW_NAME VIEW_DEFINITION
———————— ——————————————————————————–
GV$FIXED_TABLE select inst_id kqftanam kqftaobj TABLE indx from x$kqfta union all select i
nst_id kqfvinam kqfviobj VIEW from x$kqfvi union all select inst_id k
qfdtnam kqfdtobj TABLE from x$kqfdt
原来gv$是全局视图 而v$是针对某个实例的视图 $X是所有gv$的数据来源 从gv$到v$需要加上where inst_id = USERENV( Instance ) 一般来说一个oracle数据库只会有一个实例对其操作 但在RAC上可以有多台实例同时装载并打开一个数据库 在RAC上得到的结果是
etl@ALIDW> select distinct inst_id from gv$session;
INST_ID
———
这rac上有四个实例 嗯 再次加深了对实例与数据库的理解
那gv_$与v_$的定义又在什么地方呢?原来在$ORACLE_HOME/rdbms/admin存放著系统管理脚本 在catalog sql中发现
–CATCTL S Initial scripts single process
@@cdstrt
@@cdfixed sql
@@cdcore sql
–CATCTL M
@@cdplsql sql
@@cdsqlddl sql
……………………………………………………………………………
进一步在cdfixed sql中找到
create or replace view v_$fixed_table as select * from v$fixed_table;
create or replace public synonym v$fixed_table for v_$fixed_table;
grant select on v_$fixed_table to select_catalog_role;
create or replace view gv_$fixed_table as select * from gv$fixed_table;
create or replace public synonym gv$fixed_table for gv_$fixed_table;
grant select on gv_$fixed_table to select_catalog_role;
……………………………………………………………………………………………………………
[oracle@ admin]$ sqlplus sys/sys@archdw as sysdba
SQL> select * from user_role_privs;
USERNAME GRANTED_ROLE ADM DEF OS_
—————————— —————————— — — —
SYS SELECT_CATALOG_ROLE YES YES NO
因此我们常用的v$ 是v_$的同义词 v_$是基于真正的视图v$ 而真正的v$视图是在gv$的基础上限制inst_id得到;
cha138/Article/program/Oracle/201311/18981相关参考
通过Oracle动态性能视图采集查询调优数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 对于现
知识大全 动态性能视图,Oracle数据库维护的好帮手(一)
动态性能视图,Oracle数据库维护的好帮手(一) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 动态性能视图,Oracle数据库维护的好帮手(二)
动态性能视图,Oracle数据库维护的好帮手(二) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
动态视图V$ROWCACHE 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! V$ROWCACHE
Oracle数据库-视图的概念 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一视图概念 视图
dba视图 select*fromdba_data_files 指定表空间的数据文件及所在的路径 select*fromdba_free_space  
Oracle本身的数据字典设计我个人觉得很合理因为DBA_xxxALL_xxxUSER_xxx 让人一看大概就知道这个视图是干什么用的本文简要总结了一下与权限角色相关的视图一概述 与权
Oracle数据库视图管理经验技巧 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 视图对于数据库
Advisor 在g将查询重写并且引进了新的强大的调优建议者使管理物化视图变得容易多了 物化视图(Materia
ORACLE常用数据字典的查询视图 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 用户 查看用