数据库的启动与关闭过程在《Concepts》第13章,启动与关闭的过程见下文。

一、数据库启动过程

数据库启动与关闭_第1张图片数据库启动过程中有4个阶段,分别是shutdown、nomount、mount和open

1.在shutdown阶段:数据库处于关闭阶段。

2.在nomount阶段,实例启动,实例启动的过程如下:

   1)寻找参数文件的位置;

   2)读取参数文件中的信息;

   3)根据参数文件中的信息分配SGA;

   4)开启后台进程;

   5)打开告警日志文件并将参数值写入;

3.在mount阶段

从控制文件中读取数据文件和联机重做日志文件的名称与位置,但是数据库仍然没有试图查找这些文件,这些文件的查找在转换至open阶段进行。

4.在open阶段

该阶段主要是打开数据文件、日志文件,在打开的过程中对数据文件和日志文件进行一致性检查,如果不一致,则SMON进程继续实例恢复,如果文件丢失,打开失败。

二、数据库的关闭过程

数据库启动与关闭_第2张图片

1、数据库从OPEN阶段转至CLOSE阶段

数据库关闭,SGA中的数据写入到数据文件和联机重做日志文件中,之后,数据文件和联机重做日志文件关闭,控制文件仍然处于打开状态。

2、数据库从CLOSE状态转至NOMOUNT状态

数据库实例与数据库断开链接,关闭控制文件,但数据库实例仍然处于打开状态。

3、数据库从NOMOUNT状态转至SHUTDOWN状态

关闭实例,释放SGA内存,关闭后台进程。