SQL> select count(*) from v$fixed_table where name like ’X$%’;
COUNT(*)
----------
394
共有394个X$对象被记录。
1.4.2 GV$和V$视图
X$表建立以后,基于X$表的GV$和V$视图得以创建。
这部分视图我们也可以通过查询V$FIXED_TABLE得到。
SQL> select count(*) from v$fixed_table where name like ’GV$%’;
COUNT(*)
----------
259
这一部分共259个对象。
SQL> select count(*) from v$fixed_table where name like ’V$%’;
COUNT(*)
----------
259
同样是259个对象。
v$fixed_table共记录了394 + 259 + 259 共 912 个对象。
我们通过V$PARAMETER视图来追踪一下数据库的架构:
SQL> select view_definition from v$fixed_view_definition a where
a.VIEW_NAME=’V$PARAMETER’;
VIEW_DEFINITION
-------------------------------------------------------------------
select NUM , NAME , TYPE , VALUE , ISDEFAULT , ISSES_MODIFIABLE ,
ISSYS_MODIFIA
BLE , ISMODIFIED , ISADJUSTED , DESCRIPTION, UPDATE_COMMENT from
GV$PARAMETER wh
ere inst_id = USERENV(’Instance’)
我们看到V$PARAMETER是由GV$PARAMETER创建的。
SQL> select view_definition from v$fixed_view_definition a where
a.VIEW_NAME=’GV$PARAMETER’;
VIEW_DEFINITION
-------------------------------------------------------------------
select x.inst_id,x.indx+1,ksppinm,ksppity,ksppstvl,ksppstdf, decode
(bitand(kspp
iflg/256,1),1,’TRUE’,’FALSE’), decode(bitand(ksppiflg/65536,3),1,
’IMMEDIATE’,2,
’DEFERRED’, 3,’IMMEDIATE’,’FALSE’), decode(bit and(ksppstvf,7),
1,’MODIFIED’,4,’SYSTEM_MOD’,’FALSE’), decode(bitand(ksppstvf,2
,2,’TRUE’,’FALSE’), ksppdesc, ksppstcmnt from x$ksppi x, x$ksppcv
y where (x.indx = y.indx) and ((translate(ksppinm,’_’,’#’) not
like ’#%’) or (ksppstdf = ’FALSE’))