一、数据库实例启动的三个阶段
启动数据库分为三个阶段:
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
关闭数据文件,
启动时不需要实例恢复
关闭数据文件,
启动时不需要实例恢复
关闭数据文件,
启动时不需要实例恢复
不关闭数据文件,
启动时自动进行实例恢复(mount->open)
• 任何控制文件
• 属于系统表空间或还原表空间的数据文件
• 整个重做日志组(只要组中至少有一个成员可用,实例就会保持打开状态。)
参考文献:
原文链接:https://www.f2er.com/oracle/211205.html