`

层层深入,步步探究-Oracle的启动模式详探

阅读更多
在CSDN上,经常看到各种各样的启动的错误,有些错误,确实是由于Oracle的体系遭到了损害,而导致的,而有的却仅仅只是由于只是缺乏对实例启动的知识了解而造成的,今天,我们在这里详细谈谈,Oracle的启动的相关知识。

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

1. 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;如果没有找到的话,这时候,启动就会有,找不到参数文件的错误。

这里以前有不少csdn的用户,都见过我提示用startup pfile=”这样的启动模式来解决他们的问题的例子。其实这里就是应用的这样的一个知识点,当然,在使用startup pfile=”前,我们需要先用create pfile from spfile;把实例的动态参数文件先export成静态的文本参数文件,然后根据合适的参数修改这个文件,修改好了一个在用这个pfile启动。在csdn的论坛里,有几个网友的由于错误的设置启动参数造成的错误都是这样处理解决的。

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

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

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

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

相关推荐

    oracleasmlib以及 kmod-oracleasm驱动包

    2. 启动Oracle ASM服务:安装完成后,需要启动Oracle ASM服务,通常用`service oracleasm init`命令。 3. 配置Oracle ASMLib:使用`oracleasm configure -d`命令创建并配置Oracle ASMLib,这一步会自动识别并注册...

    oracle-support oracleasmlib kmod-oracleasm包

    5. 确保服务启动:配置系统在启动时加载OracleASM服务,以确保数据库在启动时可以正常工作。 总之,Oracle Support for Oracle ASM和Kmod-OracleASM包是Oracle数据库在Linux环境下的重要组成部分,它们提供了一套...

    compat-oracle-rhel4-1.0-5.i386.rpm

    compat-oracle-rhel4-1.0-5.i386.rpm

    3-Oracle启动与关闭.

    3-Oracle启动与关闭

    kmod-oracleasm-2.0.6.rh1-3.el6_5.x86_64.rpm和kmod-oracleasm-2.0.8-4

    2. **安装依赖**:运行`yum install oracle-rdbms-server-11gR2-asm-*`来安装所有必要的ASM组件,包括kmod-oracleasm。 3. **加载内核模块**:使用`modprobe oracleasm`命令加载Oracle ASM内核模块。 4. **初始化ASM...

    kmod-oracleasm-2.0.6.rh1-3.el6.x86_64.rpm

    6. **初始化ASM实例**:通过Oracle Database软件安装过程,配置并启动ASM实例。 7. **创建ASM磁盘组**:在ASM实例中创建磁盘组,用于存储数据库文件。 8. **安装Oracle数据库软件**:使用DBCA(Database ...

    c3p0-oracle-thin-extras-0.9.2.1

    c3p0-oracle-thin-extras-0.9.2.1

    docker-oracle12c, 用于Oracle数据库 12c的Docker 映像.zip

    docker-oracle12c, 用于Oracle数据库 12c的Docker 映像 目标提供一种简单的方法来构建轻量级的Docker 映像,用于 Oracle数据库。只要运行数据库,跳过安装和配置的复杂性。特性如果已经创建并启动了一个新数据库或者...

    kmod-oracleasm-2.0.6.rh1-2.el6.x86_64.rpm

    kmod-oracleasm-2.0.6.rh1-2.el6.x86_64.rpm

    linux-oracle环境变量及自启动脚本

    本文将深入探讨与"linux-oracle环境变量及自启动脚本"相关的知识点。 一、Oracle环境变量 1. ORACLE_HOME:这是Oracle软件安装的位置,指向包含所有Oracle产品目录的根目录。 2. ORACLE_SID:Oracle System ...

    cx-oracle instantclient-basic-win32-10.2.0.4 第一部分

    【cx-oracle instantclient-basic-win32-10.2.0.4 第一部分】这个压缩包文件是针对Oracle数据库连接的驱动程序,主要用于Windows 32位操作系统环境。cx-Oracle是一个Python模块,它提供了与Oracle数据库交互的能力,...

    DataX-Oracle新增writeMode支持update

    DataX-Oracle新增writeMode支持update的两个jar包已经修改好,使用方法可以看https://blog.csdn.net/qq_36802726/article/details/137118015

    kettle oracle批量加载-Oracle Bulk Loader

    kettle快速加载到oracle之oracle批量加载-Oracle Bulk Loader

    kmod-oracleasm-2.0.8-4.el6_6.x86_64

    CentOS6.6安装oracle asm工具依赖的rpm

    深入解析-oracle-10053事件

    10053事件是oracle提供的用于跟踪sql语句成本计算的内部事件,它能记载CBO模式下oracle优化器如何计算sql成本,生成相应的执行计划。

    spotlight-on-oracle-64-bit_1032

    "baidu网盘 spotlight-on-oracle-64-bit_1032.txt"可能包含了Spotlight on Oracle的使用指南、版本信息或者监测报告。通常,这类文本文件会提供软件的安装步骤、配置建议和常见问题解答,帮助用户更好地理解和使用...

    64-bit Oracle ODBC Driver 12.1.0.2.0

    64-bit ODAC 12c Release 4 (12.1.0.2.4) for Windows x64 [Released October 5, 2015] Download ODAC121024_x64.zip - 287 MB (301,348,751 bytes) ... 64-bit Oracle Instant Client 12.1.0.2.0

    RedHat6.X 安装oracleasm所需要的包

    该压缩包中包含kernel-2.6.32-358.23.2.el6.x86_64.rpm(安装kmod-oracleasm-2.0.6.rh1-2.el6.x86_64.rpm时所依赖的内核包),kmod-oracleasm-2.0.6.rh1-2.el6.x86_64.rpm,oracleasmlib-2.0.4-1.el6.x86_64.rpm,oracle...

    Linux下oracle启动和监听

    Linux 下 Oracle 启动和监听 Oracle 数据库是重量级的,其管理非常复杂,将其在 Linux 平台上的启动和关闭步骤整理如下: 一、安装和配置 Oracle 在 Linux 平台上安装 Oracle 之后,需要创建 Oracle 系统用户,并...

    kmod-oracleasm-2.0.8-5.el6_7.x86_64.rpm

    oracleasm基于红帽RHEL6.7 kmod-oracleasm-2.0.8-4.el6_6.x86_64.rpm 之前安装oracleasm踩过的坑分享给大家

Global site tag (gtag.js) - Google Analytics