background image

Oracle 数据库实例启动关闭过程

Oracle 数据库实例的启动,严格来说应该是实例的启动,数据库仅仅是在实例启动后

进行装载。

Oracle 数据启动的过程被划分为几个不同的步骤,在不同的启动过程中,我们可

以对其实现不同的操作,系统修复等等工作,因此了解

Oracle 数据启动、关闭是非常有必

要的。下面详细了

Oracle Database 10g 数据库启动及关闭的过程。

一、数据库实例的启动
 启动命令:starup [force][restrict] [pfile=...] [nomount] [mount] [open]
启动过程:

nomount ---> mount ---> open               (startup 不带参数将逐步一一完成)

1.nomount 阶段(即实例的启动)
  实例的启动通常包含下列任务:
  a.按以下顺序在$ORACLE_HOME/dbs[win 平台为 database]目录下搜索下列文件,即如

果第一个没找到,就找下一个

  spfile.ora ---> spfile.ora ---> init.ora
b.分配 SGA
c.启动后台进程
d.打开并修改告警.log 文件及跟踪文件
使用场景:
  多用于数据库创建、控制文件重建、特定的备份恢复等
注意:
  此阶段不打开任何的控制文件及数据文件。
2.mount 阶段
  mount 阶段完成的任务:
a.启动实例并打开控制文件,将数据库与实例关联起来
b.利用参数文件中的说明,打开并锁定控制文件
c.读取控制文件以获取数据文件和重做日志文件的名字和状态信息,但不检查数据日

志文件是否存在

使用场景:
a.重命名数据文件,移动数据文件位置等(数据库打开,表空间脱机的情况下也可以重

命名数据文件

)

b.启用或关闭重做日志文件的归档及非归档模式
c.实现数据库的完全恢复
注意:
  这一步会读控制文件,如果这一步有一个控制文件损坏就无法启动
3.open 阶段
mount 阶段完成的任务:
a.打开数据文件
b.打开联机日志文件
注意:
a.在此期间,Oracle 服务器将校验所偶的数据文件和联机日志文件能否打开并对数据

库作一致性检查

b.如果出现一致性错误,SMON 进程将启动实例恢复
c.如果任一数据文件或联机日志文件丢失,Oracle 服务器将报错
4.特殊的方式打开数据库