首页 > 代码库 > ORACLE 启动过程

ORACLE 启动过程

技术分享

 

1  STARTUP NOMOUNT
  1.读取环境变量下dbs目录下的参数文件(spfile/pfile)
    查找参数文件的顺序如上面列表的,读取优先级:
      spfilechongshi.ora > spfile.ora>initchongshi.ora
      如果三个文件都找不到的话,那么将启动失败。


  2.启动算法,分配内存


  3.启动后台进程


  4.开放alertSID.log文件和跟踪文件


2  MOUNT
  1.把一个数据库和启动的实例关联起来


  2. 在参数文件(spfile/pfile)中找到控制文件进行读取


  3.读取控制文件,获得的数据文件和联机重做日志文件的名称和位置,并判断其是否存在。


  在进行诸如全数据库恢复、更改数据库的归档日志模式或重命名数据文件这一类的活动时,通常需要在MOUNT状态下进行。


3  OPEN
  打开数据文件和重做日志文件。根据控制文件中记录的数据文件位置找到数据文件,对这些文件进行一致性检查,如果没有问题则open数据库。

  如果任何数据文件或非线性重做日志文件不存在,当您试图打开的数据库,服务器返回错误。如果需要,该系统监控进程开始实例恢复。

 

  一致性检查:检查数据文件头中的Checkpoint CNT和控制文件中的Checkpoint CNT是否一致,如果相等,则进一步检查,

  检查数据文件头中的开始SCN和控制文件中的结束SCN是否一致


  当数据库以打开模式启动时,所有有效用户可以连接到数据库,执行数据库操作

 

SQL> startup 
ORACLE instance started.

Total System Global Area  167387136 bytes
Fixed Size                  1343668 bytes
Variable Size             150998860 bytes
Database Buffers           12582912 bytes
Redo Buffers                2461696 bytes      --nomount
Database mounted.                  --mount
Database opened.                   --open

ORACLE 启动过程