oracle启动的时候做了什么(1)

关于X$表,其创建信息我们也可以从数据字典中一窥究竟。

  首先我们考察bootstrap$表,该表中记录了数据库启动的基本及驱动信息。

  SQL> select * from bootstrap$;

  LINE# OBJ# SQL_TEXT

  -1 -1 8.0.0.0.0

  0 0 CREATE ROLLBACK SEGMENT SYSTEM STORAGE ( INITIAL 112K NEXT 1024K MINEXTENTS 1 M

  8 8 CREATE CLUSTER C_FILE#_BLOCK#("TS#" NUMBER,"SEGFILE#" NUMBER,"SEGBLOCK#" NUMBER)

  9 9 CREATE INDEX I_FILE#_BLOCK# ON CLUSTER C_FILE#_BLOCK# PCTFREE 10 INITRANS 2 MAXT

  14 14 CREATE TABLE SEG$("FILE#" NUMBER NOT NULL,"BLOCK#" NUMBER NOT NULL,"TYPE#" NUMBE

  5 5 CREATE TABLE CLU$("OBJ#" NUMBER NOT NULL,"DATAOBJ#" NUMBER,"TS#" NUMBER NOT NULL

  6 6 CREATE CLUSTER C_TS#("TS#" NUMBER) PCTFREE 10 PCTUSED 40 INITRANS 2 MAXTRANS 255

  7 7 CREATE INDEX I_TS# ON CLUSTER C_TS# PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE (

  ....

  这部分信息,在数据库启动时最先被加载,跟踪数据库的启动过程,我们发现数据库启动的第一个动作就是:

  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的文章。[@more@]

上文摘抄别人网页,原始出处就不详了。

参考biti_rainy的文章:文章到底在哪正在找。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7928987/viewspace-985473/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7928987/viewspace-985473/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值