ORACLE数据库不同故障下的恢复总结
1. 非归档模式下丢失或损坏的文件
--1.1 数据文件
--启动数据库的状态到MOUNT
--恢复方法:
通过之前创建的数据库完整备份,修复整个数据库,不过备份之后发生的所有修改将丢失;修复数据库之后不需要进行RECOVER操作。(由于没有归档,也无从RECOVER),直接通过RESETLOGS方式打开数据库即可。

--1.2 数据文件及联机重做日志文件
--启动数据库的状态到MOUNT
--恢复方法(同上):
通过之前创建的数据库完整备份,修复整个数据库,不过备份之后发生的所有修改将丢失;修复数据库之后不需要进行RECOVER操作。(由于没有归档,也无从RECOVER),直接通过RESETLOGS方式打开数据库即可。

--1.3 数据文件及控制文件
--启动数据库的状态到NOMOUNT(控制文件丢失或损坏,只能启动数据库到NOMOUNT状态)
--恢复方法(同上):
通过之前创建的数据库完整备份,修复整个数据库,不过备份之后发生的所有修改将丢失;修复数据库之后不需要进行RECOVER操作。(由于没有归档,也无从RECOVER),直接通过RESETLOGS方式打开数据库即可。
======
说明:以上三种情况下执行数据库修复,都必须有正确的控制文件备份。另外,在上述几种情况下进行数据库恢复时,唯一一种可以不使用RESETLOGS选项打开数据库的情况,就是创建数据库完整备份之后,联机重做日志文件中的内容还没有被覆盖掉,那么可心通过RECOVER操作应用这部分日志。
============================
2. 归档模式下丢失或损坏的文件
--2.1 一个或多个数据文件
--启动数据库的状态到MOUNT/OPEN均可
--恢复方法:
在数据库打开可是加载的状态下执行表空间或数据文件的恢复操作,首先要将表空间或数据文件置于OFFLINE状态,然后通过备份RETORE和RECOVER,最后再将其置为ONLINE状态。这种操作不会丢失数据,并且在操作的过程中,数据库的其他数据文件仍可被正常访问。

--2.2 全部数据文件
--启动数据库的状态到NOMOUNT
--恢复方法
应用之前的全库备份进行恢复,在联机重做日志文件和归档文件仍在的情况下,不会丢失数据。

--2.3 控制文件及一个或多个数据文件
--启动数据库的状态到NOMOUNT
--恢复方法:
首先通过备份的控制文件先对控制文件进行恢复,然后即可打开数据库到MOUNT状态。再对数据文件进行RESTORE和RECOVER操作;在联机重做日志文件都在的情况下,这种操作不会丢失数据。
==========================================
只要是有控制文件或是全部的数据文件丢失,则只能启动数据库到NOMOUNT状态。在归档模式下,不需要以OPEN RESETLOGS方式打开数据库。

ORACLE数据库不同故障下的恢复总结的更多相关文章

  1. 一次vm 虚拟机时间倒流而导致的oracle 数据库启动故障

    一次vm 虚拟机时间倒流而导致的oracle 数据库启动故障 本文是原创文章.若转载请注明出处: http://blog.csdn.net/msdnchina/article/details/3878 ...

  2. 测试oracle数据库的脱机备份和恢复

    环境:windows7.Oracle11g 一.脱机备份 脱机备份是指在数据库关闭情况下的数据备份,也称为冷备份. 在书上学到的备份步骤: 1.记录所要备份数据库文件所在的操作系统路径: 2.关闭数据 ...

  3. oracle数据库什么情况下创建索引比较好

    索引就好象一本字典的目录.凭借字典的目录,我们可以非常迅速的找到我们所需要的条目.数据库也是如此.凭借Oracle数据库的索引,相关语句可以迅速的定位记录的位置,而不必去定位整个表. 虽 然说,在表中 ...

  4. Navicat工具Oracle数据库复制 or 备用、恢复功能(评论都在谈论需要教)

    GXPT它是一个分布式系统,该系统包括一个临时许可系统.基本系统.教学评价体系.考试系统,每个系统都有自己的oracle数据库.统,而评教系统的正常须要借助于权限系统和基础系统,详细的业务这里就不多解 ...

  5. sql developer Oracle 数据库 用户对象下表及表结构的导入导出

    Oracle数据库表数据及结构的导入导出   导出的主机与即将导入到的目标主机的tablespace 及用户名需一直!!!!!

  6. oracle数据库rman备份计划及恢复

    1.rman完全恢复的前提条件:历史的datafile,controlfile和spfile备份,加上完整的archivelog和完好的redolog. 2.rman备份脚本: a.RMAN 0级备份 ...

  7. Oracle 无备份情况下的恢复--临时文件/在线重做日志/ORA-00205

    13.5 恢复临时文件 临时文件没有也不应该备份.通过V$TEMPFILE可以找到所有的临时文件. 此类文件的损坏会造成需要使用临时表空间的命令执行失败,不至于造成实例崩溃或session中断.由于临 ...

  8. Oracle 无备份情况下的恢复--控制文件/数据文件

    13.3无备份恢复控制文件 没有备份恢复控制文件其实就是在nomount状态,create control创建一个新的控制文件. dba必须知道4个信息才能正确的创建:数据库名.在线日志路径及其大小. ...

  9. Oracle 无备份情况下的恢复--密码文件/参数文件

    13.1 恢复密码文件 密码文件(linux 为例)在$ORACLE_HOME/dbs目录下,文件名的前缀是orapw,后接数据库实例名. [oracle@DSI backup]$ cd /u01/a ...

随机推荐

  1. Git 如何回到过去,然后 再 回到将来

    回到过去: git log 然后 git reset --hard commit ID (那段长长代码 40位) 再,回到将来git reflog 然后 git reset --hard 前面那个代码 ...

  2. linux下git使用记录1 git 提交

    linux下git使用记录1   浏览:985 发布日期:2013/08/08 分类:技术分享 在使用github的时候,不可避免的接触到了git,用他来更新项目,做版本控制.这里特别把常用的命令记录 ...

  3. 本地化下按首字母分组排序的神器——UILocalizedIndexedCollation

    最近在整一个很简单的通讯录相关的项目,通讯录当然就少不了按首字母或者汉字拼音首字母分组排序索引.因为按照我一贯的的做法,都是想要做成更通用的.支持本地化的,所以这就纠结了,世界各地的语言啊我去,我顶多 ...

  4. js获取 input file 图片缩略图

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. 0119——UITextField

    1.默认文本  _loginTextField.placeholder = @"QQ号/手机"; 2.设置边框 _loginTextField.borderStyle = UITe ...

  6. 数据存储: sqlite,coredata plist 归档

    sql 语句  结构化查询语言 通用数据库操作语言1.创建数据库create database 1407EDB2.删除数据库drop database 1407EDB3.备份use master ex ...

  7. OpenCV——人脸检测

    OpenCV支持的目标检测的方法: 利用样本的Haar特征进行的分类器训练,得到的级联boosted分类器(Cascade Classification) 1.加载级联分类器 CascadeClass ...

  8. shell中的环境变量

    局部(local)环境变量 定义局部环境变量的方式如下: variableName=value 需要注意的是variableName前面没有$符号,并且=两边没有空格. 局部环境变量只能在当前shel ...

  9. C# 创建execl文件 并且填充数据

    第一步:引用文件 using NPOI.HSSF.UserModel;using System.Data;using CTUClassLibrary;using System.IO;using NPO ...

  10. php-app开发接口加密

    自己平时工作中用到的一套接口加密规则,记录下来以后用: /** 2 inc 3 解析接口 客户端接口传输规则: 1.用cmd参数(base64)来动态调用不同的接口,接口地址统一为 http://a. ...