oracle启动的状态
学习笔记-oracle启动的状态
过去遇到过几次朋友的数据库无法启动,有的成功解决了,有的因为技术或者时间的原因没有解决。所以,再怎么学习oracle的启动都不过分。 oracle实例启动的三个状态。 1 nomount(Instance started) 2 mount(Control file opened for this instance) 3 open(All files opened as described by the control file for this instance) 1 nomount,只启动实例(Instance started)。 这个过程oracle做了4件事。 1 打开参数文件,spfile或者pfile。 2 分配内存,即SGA。 3 启动后台进程。 4 写入alert<SID>.log日志文件和其他跟踪文件。 启动到nomount状态后,可以创建数据库或重新创建控制文件。 自己总结:这个过程出错,有两个原因,一是参数设置错误,二是操作系统级的问题。总结就是和数据库文件没有关系,因为这个时候还没有打开数据库文件。 上次一个朋友的数据库,被反复克隆后,死活启动不了实例,最后也没有解决,可惜了,没留下环境让我再研究一下。 2 mount 这个过程oracle做了3件事: 1 使数据库和实例关联。 2 打开控制文件(控制文件的位置由参数文件指定)。 3 读控制文件中的数据文件和重做日志文件的名称和状态,但是不检查他们是否存在。 启动到mount状态后,可以进行: 1 重命名数据文件。 2 设置归档状态。 3 数据库恢复等。 自己总结:这个过程出错,应该是由控制文件引起的。 3 open 这个过程oracle做了3件事: 1 打开联机数据文件。 2 打开联机重做日志文件。 3 检查数据库的一致性,有可能会进行恢复操作。 自己总结:这个过程出错,有可能是数据文件和日志文件物理错误。或者一致性的问题。 相关命令: STARTUP [OPEN|MOUNT|NOMOUNT] ALTER DATABASE { MOUNT | OPEN } 参考: Oracle Database 10g: Administration Workshop I Edition 3.0 Oracle9i 数据库管理基础I 第1 册• 学生指南 产品版1.1 |