数据库启动的三阶段
1. nomount阶段创建实例instance
nomount阶段,oracle主要完成5件事
a.查找参数文件,oracle会在$ORACLE_HOME/dbs/目录下依次查找下面的参数文件,如果其中某个存在,就会使用它。spfile是二进制文件,不能直接编辑,init(pfile)是文本文件可以直接编辑。
1.spfile$ORACLE_SID.ora
2.spfile.ora
3.init$ORACLE_SID.ora
b.读取参数文件确定初始化参数的值
c.根据初始化参数分配SGA内存区
d.启动后台进程
e.打开alert_$ORACLE_SID.log 文件和 trace追踪文件,把启动过程中的参数和执行的操作写入alert文件
在启动的时候可以手动指定使用PFILE
2.mount模式
实例通过加载数据库将数据库和实例关联起来。mount阶段,oracle根据参数文件中的CONTROL_FILES参数找到控制文件,从控制文件中读取数据库名称、确定数据文件,以及在open时访问的online redo log files,此时实例没有打开数据库的物理文件,即数据文件和重做日志文件。用户在mount状态仍无法与数据库建立连接或会话。
如果控制文件复用副本丢失、损坏,oracle会报错,需要进行控制文件恢复,修改参数文件、手动创建控制文件、或者替换丢失或损坏的控制文件。
3.open模式
只有将数据库设置为打开后,用户才可以与数据库建立连接和访问数据库。oracle会分步打开物理文件
a.打开除了撤销表空间以外,所有online在线表空间的数据文件
b.打开undo tablespace撤销表空间
c.打开online redo log file重做日志文件
如果open阶段发现有数据文件或重做日志文件丢失、损坏而不可用,或者数据文件不一致,oracle会报错,此时需要进行media recovery介质恢复。
浙公网安备 33010602011771号