V$FIXED_TABLE & V$FIXED_VIEW_DEFINITION

V$FIXED_TABLE & V$FIXED_VIEW_DEFINITION

分类: 性能调优 61人阅读 评论(0) 收藏 举报

官方解释:

V$FIXED_TABLE displays all dynamic performance tables, views, and derived tables in the database. Some V$ tables (for example, V$ROLLNAME) refer to real tables and are therefore not listed.

ColumnDatatypeDescription
NAMEVARCHAR2(30)Name of the object
OBJECT_IDNUMBERIdentifier of the fixed object
TYPEVARCHAR2(5)Object type (TABLE | VIEW)
TABLE_NUMNUMBERNumber that identifies the dynamic performance table if it is of type TABLE



V$FIXED_VIEW_DEFINITION contains the definitions of all the fixed views (views beginning with V$). Use this table with caution. Oracle tries to keep the behavior of fixed views the same from release to release, but the definitions of the fixed views can change without notice. Use these definitions to optimize your queries by using indexed columns of the dynamic performance tables.

ColumnDatatypeDescription
VIEW_NAMEVARCHAR2(30)Name of the fixed view
VIEW_DEFINITIONVARCHAR2(4000)Definition of the fixed view

例如: select view_definition from v$fixed_view_definition a where  a.VIEW_NAME='V$PARAMETER'; 能够查出视图V$PARAMETER的定义;
SELECT NUM,
       NAME,
       TYPE,
       VALUE,
       DISPLAY_VALUE,
       ISDEFAULT,
       ISSES_MODIFIABLE,
       ISSYS_MODIFIABLE,
       ISINSTANCE_MODIFIABLE,
       ISMODIFIED,
       ISADJUSTED,
       ISDEPRECATED,
       ISBASIC,
       DESCRIPTION,
       UPDATE_COMMENT,
       HASH
  FROM
GV$PARAMETER
 WHERE INST_ID = USERENV('Instance')

然后再在此表里找出V$PARAMETER的定义中所用的表(GV$PARAMETER),一般是GV$开头的视图;就能查到哪些固定表组成了这些视图,一般是X$开头的固定表;
select view_definition from v$fixed_view_definition a where a.VIEW_NAME='GV$PARAMETER'; 
SELECT X.INST_ID,
       X.INDX + 1,
       KSPPINM,
       KSPPITY,
       KSPPSTVL,
       KSPPSTDVL,
       KSPPSTDF,
       DECODE(BITAND(KSPPIFLG / 256, 1), 1, 'TRUE', 'FALSE'),
       DECODE(BITAND(KSPPIFLG / 65536, 3),
              1,
              'IMMEDIATE',
              2,
              'DEFERRED',
              3,
              'IMMEDIATE',
              'FALSE'),
       DECODE(BITAND(KSPPIFLG, 4),
              4,
              'FALSE',
              DECODE(BITAND(KSPPIFLG / 65536, 3), 0, 'FALSE', 'TRUE')),
       DECODE(BITAND(KSPPSTVF, 7), 1, 'MODIFIED', 4, 'SYSTEM_MOD', 'FALSE'),
       DECODE(BITAND(KSPPSTVF, 2), 2, 'TRUE', 'FALSE'),
       DECODE(BITAND(KSPPILRMFLG / 64, 1), 1, 'TRUE', 'FALSE'),
       DECODE(BITAND(KSPPILRMFLG / 268435456, 1), 1, 'TRUE', 'FALSE'),
       KSPPDESC,
       KSPPSTCMNT,
       KSPPIHASH
  FROM
X$KSPPI X, X$KSPPCV Y
 WHERE (X.INDX = Y.INDX)
   AND BITAND(KSPPIFLG, 268435456) = 0
   AND ((TRANSLATE(KSPPINM, '_', '#') NOT LIKE '##%') AND
       ((TRANSLATE(KSPPINM, '_', '#') NOT LIKE '#%') OR
       (KSPPSTDF = 'FALSE') OR (BITAND(KSPPSTVF, 5) > 0)))
找到了最终表是X$KSPPI 和 X$KSPPCV 


这段时间多以动态性能视图为讨论的焦点,关于动态性能视图有以下总结:

在实例启动时,会先创建X$表,然后基于X$表创建GV_$  V_$ 视图,在基于GV_$ V_$视图创建GV$V$同义词。 我们一般查询的都是同义词。 关于这些视图的定义,可以通过V$FIXED_VIEW_DEFINITION 视图 来查看。 在数据库运行期间,动态性能视图保存在内存中,时刻监控着数据库的状态,我们在需要的时候可以查看这些视图。 当实例关闭时,数据库又会从内存中自动删除这些动态性能视图。


参考:

固定表 fixed_table    谷歌

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值