Oracle启动模式及其出现的问题探讨

数据库 Oracle
今天,我们在这里详细谈谈,关于Oracle启动的相关知识。Oracle启动模式分为3个阶段,包括nomount阶段、mount阶段以及open阶段。文章针对这3阶段中可能出现的问题提供了相关解决方法。

当我们发出startup命令时,Oracle将开始启动,如果成功启动的话,这个实例启动的过程分为3个阶段。

1.Oracle启动模式的nomount阶段

nomount,在这个启动阶段里,Oracle主要做的事情,就是找到相关的启动参数文件,并且打开启动参数文件,根据启动参数里记录的参数值。

启动实例,并且启动成功的话,打开告警文件alert_.ora文件,这个文件默认在ORACLE_BASE/admin/SID /bdump下,并且记录相关的启动信息。如果在startup里指定了pfile=''的话,Oracle将从你指定的文件作为启动参数文件,如果是没有指定pfile的话,Oracle会先去默认目录($ORACLE_HOME/)下找spfileSID.ora,如果没有找到,则找 spfile.ora,如果还是没有,找initSID.ora,这个就是以前的静态参数文件了,如果没有则找init.ora;如果没有找到的话,这时候,启动就会有,找不到参数文件的错误,同时会动态注册实例名到监听服务里。

当然,在使用startup pfile=''前,我们需要先用create pfile from spfile;把实例的动态参数文件先export成静态的文本参数文件,然后根据合适的参数修改这个文件,修改好了一个在用这个pfile启动。

2.Oracle启动模式的mount阶段

当达到了nomount阶段以后,数据库就只能一步一步的来进行启动了,他的下一个启动的阶段,就是mount。我们通过alter database mount;来从nomount阶段或者通过startup mount来到达这个阶段,到达这个阶段,Oracle从启动参数文件里找到控制文件的路径参数值,找到所有的控制文件,然后打开读取控制文件的信息,控制文件里记录了各种表空间文件,日志文件的信息,以及数据库的字符集,其实就是控制文件里的记录(控制文件是可以指定多个的,只要有个一个不能成功读取,这个阶段将会失败),这时,数据库已经读取了相关系统文件的信息,也读取了字符集信息,但是仅仅只是读取,这些系统文件,并没有真正的加载到数据库里。

曾经有人启动到mount的时候,出现问题,最后一看原来是control文件这里已经被删除掉了,解决的办法,就是从备份的控制文件来一个过来,然后做恢复就可以了。如果没有备份,在nomount下,新建一个controlfile,就可以了。

3.Oracle启动模式的open阶段

mount阶段结束后,数据库体系的所有信息已经读取全了,我们知道了redo文件,数据文件的信息,但是还没有加载,到open状态,数据库读取所有的文件,如果有一个文件不能成功读取,open阶段就会失败。这时候,我们能够解决的就是通过错误的提示,进行数据恢复,或者错误排查。

这一个阶段的错误的各种原因最多,处理起来的方式也相对于前面的要复杂的多,不过基本上都是和数据文件,日志文件缺失,数据scn不一致,等等有关,这时我们需要做的就是根据错误的提示来进行相应的数据恢复,和数据排查,这块是数据库恢复最有趣的地方。

【编辑推荐】

  1. 在Oracle模式中定义媒体对象有哪些
  2. 深入Oracle启动方式的实际应用
  3. Oracle启动的七个步骤介绍
  4. Oracle sqlplus命令中的Oracle启动与关闭
  5. Oracle启动的实际操作详解
责任编辑:王婧瑶 来源: 互联网
相关推荐

2010-07-22 11:23:02

AIX TELNET

2010-05-05 11:06:32

Oracle存储过程

2010-04-16 14:48:27

Oracle Spat

2010-04-22 15:46:58

Oracle监听

2011-05-20 10:05:13

Oracle性能优化

2010-04-07 09:21:03

Oracle RAC

2009-04-24 10:49:57

Oracle性能优化错误

2010-11-15 10:50:43

Oracle启动模式

2009-11-17 13:49:46

Oracle prim

2010-04-22 12:37:42

Oracle移植

2011-06-07 14:22:22

双绞线综合布线

2010-04-16 16:41:53

rownum用法

2009-11-19 11:28:50

Oracle利用Log

2010-04-30 10:24:00

Oracle查询指定记

2010-04-06 09:58:13

Oracle dele

2011-08-24 17:08:28

Oracle数据库归档模式

2009-11-20 13:51:14

Oracle Data

2010-04-13 12:32:38

Oracle字符集

2010-04-22 14:26:00

Oracle创建同义词

2009-11-18 09:39:06

Oracle介质恢复
点赞
收藏

51CTO技术栈公众号