首页 > 大数据 > 正文

Oracle解析启动的全过程

2011-03-09 21:17:00  来源:中国IT实验室

摘要:之前对Oracle也没有什么了解,只是DBA给我们一个用户,然后我们连上去就OK,总是搞不明白。今天有空来看看Oracle的启动过程,还是有很多东西值得我们来仔细研究的
关键词: Oracle 解析启

  之前对Oracle也没有什么了解,只是DBA给我们一个用户,然后我们连上去就OK,总是搞不明白。今天有空来看看Oracle的启动过程,还是有很多东西值得我们来仔细研究的:

  Oracle的启动过程总共分三步:

  1 启动Oracle的实例;

  2 挂载Oracle数据库;

  3 打开数据库;

  启动Oracle实例到nomount状态:

  SQL> startup nomount

  ORACLE 例程已经启动。

  Total System Global Area 293601280 bytes

  Fixed Size 1248600 bytes

  Variable Size 109052584 bytes

  Database Buffers 176160768 bytes

  Redo Buffers 7139328 bytes

  SQL>

  在这个情况下,Oracle都做了哪些工作呢:只是去寻找一个叫做spfile,或者是pfile的文件,然后根据这个文件去创建实例,分配内存;那么你肯定是要问,那我如何才可以知道我载入的那个文件呢:

  SQL> show parameter spfile; NAME TYPE ------------------------------------ ---------------------- VALUE ------------------------------ spfile string D:ORACLEPRODUCT10.2.0DB_1 DATABASESPFILEGJSID.ORA SQL> 看到了吧,Oracle载入的就是在这个目录下的SPFILE.ora。那pfile和spfile之间有什么区别呢:pfile其实和spfile是一样的内容,只不过spfile在文件头的时候,有些我也不太明白的东西。

  可以用以下的命令来实现pfile和spfile的转换:

  SQL> create pfile from spfile; 文件已创建。 SQL>

  接下来呢,就到了挂载Oracle数据库的时候:

  SQL> alter database mount; 数据库已更改。 那这个过程中,Oracle做了哪些工作,其实是根据刚刚spfile里面的内容来寻找一个叫做控制文件的东东control file,你能搞明白么,在Oracle中,共有三个一模一样的控制文件,就是为了防止有控制文件损坏。

  这个时候你可以通过以下的命令来查看加载的控制文件:

  SQL> select * from v$controlfile; STATUS NAME IS_ BLOCK_SIZE FILE_SIZE_BLKS ------- ---------------------------------------- --- ---------- -------------- D:ORACLEDATAGJSIDCONTROL01.CTL NO 16384 430 D:ORACLEDATAGJSIDCONTROL02.CTL NO 16384 430 D:ORACLEDATAGJSIDCONTROL03.CTL NO 16384 430 SQL> show parameter control_file; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ control_file_record_keep_time integer 7 control_files string D:ORACLEDATAGJSIDCONTROL01 .CTL, D:ORACLEDATAGJSIDCON TROL02.CTL, D:ORACLEDATAGJS IDCONTROL03.CTL SQL> 看到了吧,这个时候,控制文件就加载到系统视图里了,在没有mount之前,v$controlfile里是没有内容的。

  打开数据库,

  SQL> alter database open;

  这个时候,Oracle会去数据文件头和控制文件头里去检查数据库版本的一致性,和数据的连续性,检查SCN - system changing number。

  至此,Oracle就算是启动完成了。如果其中有报错的话,可以去查看在alter_.log. 在其中有比较完整的信息。


第三十八届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:lyre

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。