--================================
-->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.特殊的方式打开数据库
只读模式:
startup open read only;
如果现在在mount
alter database open read only;
受限模式:
有时进行数据库维护护,希望一般的用户不能登录。可以启动到该模式,这样只有用户具有
restricted session 权限,才可登录到数据库。
启动方法:
startup restrict;
取消受限:
alter system disable restricted session;