V$FIXED_TABLE & V$FIXED_VIEW_DEFINITION
官方解释:
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.
Column | Datatype | Description |
---|---|---|
NAME | VARCHAR2(30) | Name of the object |
OBJECT_ID | NUMBER | Identifier of the fixed object |
TYPE | VARCHAR2(5) | Object type (TABLE | VIEW ) |
TABLE_NUM | NUMBER | Number 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.
Column | Datatype | Description |
---|---|---|
VIEW_NAME | VARCHAR2(30) | Name of the fixed view |
VIEW_DEFINITION | VARCHAR2(4000) | Definition of the fixed view |
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')
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$表,然后基于X$表创建GV_$ 和 V_$ 视图,在基于GV_$ 和V_$视图创建GV$和V$同义词。 我们一般查询的都是同义词。 关于这些视图的定义,可以通过V$FIXED_VIEW_DEFINITION 视图 来查看。 在数据库运行期间,动态性能视图保存在内存中,时刻监控着数据库的状态,我们在需要的时候可以查看这些视图。 当实例关闭时,数据库又会从内存中自动删除这些动态性能视图。
参考:
固定表 fixed_table 谷歌