简介Oracle的数据字典
2007-05-05 12:03:15 来源:WEB开发网这部分信息,在数据库启动时最先被加载,跟踪数据库的启动过程,我们发现数据库启动的第一个动作就是:create table bootstrap$ ( line# number not null, obj# number not null,
sql_text varchar2(4000) not null) storage (initial 50K objno 56 extents
(file 1 block 377))
这部分代码是写在Oracle应用程序中的,在内存中创建了bootstrap$以后,Oracle就可以从file 1,block 377上读取其他信息,创建重要的数据库对象。从而根据这一部分信息启动数据库,这就实现了数据库的引导,类似于操作系统的初始化。 这部分你可以参考biti_rainy的文章。
X$表由此建立。这一部分表可以从v$fixed_table中查到: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’))
在这里我们看到GV$PARAMETER来源于x$ksppi,x$ksppcv两个X$表。 x$ksppi,x$ksppcv 基本上包含所有数据库可调整参数,v$parameter展现的是不包含"_"开头的参数。以"_"开头的参数我们通常称为隐含参数,一般不建议修改,但很多因为功能强大经常使用而广为人知。
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
更多精彩
赞助商链接