`
jzhua2006
  • 浏览: 304526 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

了解Oracle启动模式的三个阶段

 
阅读更多

当我们发出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不一致,等等有关,这时我们需要做的就是根据错误的提示来进行相应的数据恢复,和数据排查,这块是数据库恢复最有趣的地方

 

分享到:
评论

相关推荐

    oracle启动数据库

    启动数据库的过程分为三个主要步骤: 1. **创建Oracle实例**:这一步骤中,Oracle系统读取初始化参数文件(如`init.ora`),启动必要的后台进程,并初始化系统全局区(SGA)。实例名称由`Oracle_SID`环境变量确定,...

    Oracle 自动启动脚本

    Oracle数据库的启动分为多个阶段,包括实例启动(Instance Startup)、数据文件检查(Redo Log Checkpoint)、恢复过程(Recovery)以及监听器启动(Listener Startup)。通过自动启动脚本,我们可以简化这个过程,...

    oracle启动方式

    Oracle数据库的启动过程大致可以分为三个阶段:实例启动(Instance Startup)、数据库装载(Database Mount)和数据库打开(Database Open)。其中: 1. **实例启动(Instance Startup)**:这是启动过程的第一步,...

    oracle启动

    1. **启动实例**:在这个阶段,Oracle读取控制文件和参数文件(通常是`spfile`或`pfile`),并根据这些文件中的配置信息启动后台进程。 2. **加载数据库**:实例启动后,系统会加载数据文件和重做日志文件。 3. **...

    oracle数据库的启动与关闭

    Oracle数据库的启动分为三个阶段:启动例程、装载数据库和打开数据库。首先,启动例程涉及读取初始化参数文件,分配内存给SGA(系统全局区)和PGA(程序全局区),启动后台进程,并开启跟踪和预警文件。初始化参数...

    数据库启动需要三个步骤

    数据库启动过程是数据库管理系统中至关重要的环节,尤其是对于Oracle数据库来说,其启动步骤涉及到了实例创建、数据库安装和数据库打开等多个阶段。以下是针对标题和描述中提到的三个关键步骤的详细解释: 1. 创建...

    oracle 启动过程

    ### Oracle启动过程详解 Oracle数据库的启动过程是一个关键的系统管理任务,涉及到多个步骤和复杂的内部机制。在本文中,我们将深入探讨Oracle数据库从启动到完全可用的状态转换过程,包括在每个阶段读取的文件以及...

    ORACLE数据库启动过程分析.pdf

    一、数据库启动的三个阶段 1. 启动数据库实例: Oracle数据库启动首先涉及实例的启动,这是数据库运行的基础。实例由两部分组成:System Global Area (SGA) 和后台进程。SGA是共享内存区域,包括数据缓冲区、重做...

    实例管理的方法 数据库的启动模式

    关闭数据库的过程包括关闭数据库、卸载数据库和关闭实例这三个阶段。在关闭过程中,Oracle会将SGA中的数据写回数据文件,然后关闭控制文件,最后释放内存资源和停止后台进程。 在特定情况下,如数据库迁移或升级,...

    Oracle日常运维操作总结-数据库的启动和关闭 数据库运维.pdf

    这个阶段仅读取参数文件,初始化内存结构和服务进程,如DBWR(数据库写入器)、LGWR(重做日志写入器)、SMON(系统监视器)、PMON(进程监视器)和CKPT(检查点进程)。在NOMOUNT状态下,无法访问数据库的数据字典...

    Oracle数据库的启动和关闭

    数据库的启动分为三个阶段:创建实例、安装数据库和打开数据库。启动命令STARTUP可以根据需要选择不同的选项: 1. STARTUP NOMOUNT:只创建实例,不安装或打开数据库。这一步骤用于初始化系统全局区(SGA)并读取...

    oracle在linux的启动、访问、停止[整理].pdf

    本文将深入解析Oracle数据库在Linux上的启动流程,包括启动的三个主要阶段:NOMOUNT、MOUNT和OPEN状态,并讨论实例与数据库的关系。 首先,Oracle数据库的启动涉及到两个核心组成部分:Instance(实例)和Database...

    30.Oracle的启动和关闭1

    首先,Oracle数据库的启动涉及到三个主要阶段: 1. **启动实例(Startup Nomount)**: - 在这个阶段,使用`startup nomount`命令启动数据库实例。这会读取初始化参数文件(pfile或spfile),分配系统全局区(SGA...

    oracle在windows7下的手动启动服务及创建数据库的相关操作

    4. 数据库会经历nomount、mount和open三个阶段,最终显示数据库已打开。 如果你希望避免Oracle服务开机自启动,可以通过以下步骤将其设置为手动启动: 1. 打开服务管理工具(services.msc)。 2. 找到Oracle相关的...

    深刻理解Oracle数据库的启动和关闭

    启动一个Oracle数据库涉及以下三个主要步骤: 1. **创建Oracle实例(非安装阶段)**:此步骤主要是读取`init.ora`初始化参数文件,启动后台进程,并初始化系统全局区(SGA)。这些参数定义了实例的配置,包括内存...

    oracle学习宝典

    数据库启动过程可以分为三个阶段:NOMOUNT、MOUNT 和 OPEN。 - **NOMOUNT 阶段**:在此阶段,实例被启动但尚未与任何数据库关联。这通常发生在创建新数据库或在某些备份和恢复场景中。 - **任务包括**: - 在 `...

    oracle启动关闭

    Oracle数据库的启动过程涉及到多个阶段,每个阶段都有其特定的功能与作用。下面将详细介绍几种常用的启动方式及其特点。 ##### 1. `startup nomount` - **描述**:此模式下数据库不加载数据文件或重做日志文件,仅...

    chap14_Oracle数据库的启动与关闭.pptx

    使用STARTUP命令可以指定启动模式,如NOMOUNT、MOUNT或OPEN,分别对应数据库启动的不同阶段。NOMOUNT只启动实例,不装载数据库;MOUNT装载数据库但不打开;OPEN则同时装载和打开数据库。而关闭数据库则使用SHUTDOWN...

Global site tag (gtag.js) - Google Analytics