startup命令显示的结果可以看出数据库启动的三个阶段

来源:互联网 发布:淘宝跟客服聊天 编辑:程序博客网 时间:2024/06/06 02:44

首先,要强调一点,如果在window下,在操作系统启动时,一个名为oracle.exe的进程就已经启动了,这个oracle.exe进程封装了实例的后台进程(window里应该成为后台线程)。linux下,则是在nomount阶段启动。

下面是startup命令执行后显示的结果:

SQL> startup



ORACLE instance started.             //红色部分为数据库启动的第一阶段,即nomount阶段,主要是启动实例。

                                                          //启动实例分为 两个步骤:启动实例的后台进程,就是这里提示语句说的“ORACLE instance started.


Total System Global Area   96468992 bytes             //还有一个就是分配SGA内存空间
Fixed Size                  1217884 bytes
Variable Size              88083108 bytes
Database Buffers            4194304 bytes
Redo Buffers                2973696 bytes

Database mounted.                   //蓝色部分,说明了数据库启动的第二阶段,即mount阶段,主要是加载读取控制文件。

Database opened.                     //紫色部分,说明了数据库启动的第三阶段,即open阶段,主要是加载读取数据文件。

============================================================================================

 

 




 


注释:

依据上图可知参数文件已经是最顶端的文件了,那么oracle软件系统又如何找到参数文件的?如何修改oracle软件系统读取参数文件的默认路径?


设计一个软件系统时,配置文件间若存在上图的位置关系的话,那么最顶层的配置文件的路径肯定要放在该软件里的某一个变量上的(第一个问题的回答)。若该变量是常量变量的话,则相当于存放最顶层的配置文件的路径已经在软件里写死了,若不是常量变量的话,则相当于存放最顶层的配置文件的路径还是可以在软件里修改的(第二个问题的回答)。

=================================================================================================

      假若执行startup命令失败了,则在启动数据库的哪个阶段失败的,select status from v$instance就显示在执行失败的那个阶段的前个阶段。


附Oracle的几种启动方式:

1、startup nomount

  非安装启动,这种方式启动下可执行:重建控制文件、重建数据库。

  读取init.ora文件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件。

2、startup mount dbname

  安装启动,这种方式启动下可执行:数据库日志归档、数据库介质恢复、使数据文件联机或脱机、重新定位数据文件、重做日志文件。

  执行“nomount”,然后打开控制文件,确认数据文件和联机日志文件的位置,但此时不对数据文件和日志文件进行校验检查。

3、startup open dbname

  先执行“nomount”,然后执行“mount”,再打开包括Redo log文件在内的所有数据库文件,这种方式下可访问数据库中的数据。

4、startup,等于以下三个命令

  startup nomount

  alter database mount

  alter database open



参考:《oracle数据库的启动过程

原创粉丝点击