龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

Oracle解析启动的全过程

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
Oracle数据库 是一种关系数据库管理系统,功能性很好,Oracle数据库操作简单而且操作速度快,广受广大用户的喜爱,下文中就为大家介绍Oracle 启动 的全过程。 Oracle的启动过程总共分三

Oracle数据库是一种关系数据库管理系统,功能性很好,Oracle数据库操作简单而且操作速度快,广受广大用户的喜爱,下文中就为大家介绍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:\ORACLE\PRODUCT\10.2.0\DB_1\ DATABASE\SPFILEGJSID.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:\ORACLE\DATA\GJSID\CONTROL01.CTL NO 16384 430 D:\ORACLE\DATA\GJSID\CONTROL02.CTL NO 16384 430 D:\ORACLE\DATA\GJSID\CONTROL03.CTL NO 16384 430 SQL> show parameter control_file; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ control_file_record_keep_time integer 7 control_files string D:\ORACLE\DATA\GJSID\CONTROL01 .CTL, D:\ORACLE\DATA\GJSID\CON TROL02.CTL, D:\ORACLE\DATA\GJS ID\CONTROL03.CTL SQL> 看到了吧,这个时候,控制文件就加载到系统视图里了,在没有mount之前,v$controlfile里是没有内容的。

打开数据库,

SQL> alter database open;

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

至此,Oracle就算是启动完成了。上文中的内容仅供大家参考,如果有什么不当的地方,还望大家见谅。最后,希望大家都能够从上文中涉及到的内容中有所收获。

精彩图集

赞助商链接