Oracle 数据库实例的启动阶段及关闭模式

 
 Oracle 数据库实例的启动阶段及关闭模式_第1张图片
 
一、数据库实例启动的三个阶段
 
启动数据库分为三个阶段:
Startup nomount;  --startup缺省为startup open
Alter database mount;
Alter database open;
 
可以通过select status from v$instance;来查看实例启动到哪个状态。
select * from v$database;
 
第一阶段:Nomount
条件:
参数文件存在
参数文件中描述的目录存在(adump,bdump,cdump,udump)
作用:
修改参数文件
查看部分v$数据字典
创建数据库(后自动open)
创建控制文件(后自动mount)
数据库:(加载了实例)
加载了参数文件
申请了内存(SGA)
启动了后台进程
命令:
startup nomount
alter database mount;
 
第二阶段:Mount
条件:
控制文件存在且已同步
并且必须是好的(名字一致,个数一致,路径一致,scn号一致)
作用:
修改参数
查看所有v$数据字典
把数据文件离线
备份、恢复
修改数据库的归档模式
把.dbf .log文件搬家
数据库:
加载了控制文件
加载了所有的v$数据字典
命令:
Startup mount
alter database open;
alter database open read only;
 
第三阶段:Open
条件:
数据文件存在且已同步
日志文件存在
作用:
修改参数
可以查所有字典
把数据文件离线
把表空间离线
操作数据(表,视图)
数据库:
申请了内存
启动了后台进程
加载了参数文件
加载了控制文件
根据控制文件的描述,加载相应的数据文件,和日志文件
加载了所有的字典
命令:
startup open
 
另外特别的:startup force 等同于 shutdown abort+ startup open
 
 
二、数据库实例关闭的四种模式
 
shutdown immediate
  normal transactional immediate abort
允许新连接 0 0 0 0
等待会话结束 1 0 0 0
等待事务结束 1 1 0 0
检查点并关闭文件 1 1 1 0
  做一个检查点,
关闭数据文件,
启动时不需要实例恢复
做一个检查点,
关闭数据文件,
启动时不需要实例恢复
做一个检查点,
关闭数据文件,
启动时不需要实例恢复
不做检查点,
不关闭数据文件,
启动时自动进行实例恢复(mount->open)
 
 
三、打开数据库后,如果有以下项丢失,数据库会失败:
• 任何控制文件
• 属于系统表空间或还原表空间的数据文件
• 整个重做日志组(只要组中至少有一个成员可用,实例就会保持打开状态。)
 
abort 等同于停电,且在下次正常启动恢复之前,不允许在mount 状态下修改参数,例如归档、闪回,检查点是为了保证数据一致性,写入数据文件。
 
 
四、linux下dbstart,dbshut启动关闭数据库
 
 
参考文献:
http://blog.sina.com.cn/s/blog_41768f970100pugv.html

你可能感兴趣的:(Oracle)