ITPub博客

首页 > 数据库 > Oracle > oracle启动的时候做了什么(1)

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

原创 Oracle 作者:casoul 时间:2007-11-28 10:40:02 0 删除 编辑
关于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/,如需转载,请注明出处,否则将追究法律责任。

上一篇: oracle scn学习
下一篇: 数据字典(2)
请登录后发表评论 登录
全部评论

注册时间:2008-03-13

  • 博文量
    15
  • 访问量
    27051