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. mysql 使用游标进行删除操作的存储过程

    BEGIN   DECLARE  hprocessInstanceId bigint DEFAULT 0; -- 历史流程实例id   DECLARE  hprocessInstanceIdStart ...

  2. Laravel 安装指南

    http://www.golaravel.com/article/laravel-installation-guide/ http://laravel.com/api/4.1/ http://ding ...

  3. iOS8 Core Image In Swift:人脸检测以及马赛克

    iOS8 Core Image In Swift:自动改善图像以及内置滤镜的使用 iOS8 Core Image In Swift:更复杂的滤镜 iOS8 Core Image In Swift:人脸 ...

  4. 浅谈Android系统进程间通信(IPC)机制Binder中的Server和Client获得Service Manager接口之路

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6627260 在前面一篇文章浅谈Service ...

  5. Linux UGO和ACL权限管理

    自主访问控制(Discretionary Access Control, DAC)是指对象(比如程序.文件.进程)的拥有者可以任意修改或者授予此对象相应的权限.Linux的UGO(User, Grou ...

  6. NET基础课--NET的一些概念0

    0.CIL--公共中间语言 VC++:经过预编译,编译,汇编和链接生成本地可执行代码,支持它运行的是OS和本地cpu指令集. C#:    在.net框架下类似c#的高级语言经过编译生成的文件叫程序集 ...

  7. 代码先行-log4Net初体验

    1.安装 从http://logging.apache.org/log4net/download_log4net.cgi下载编译好的log4Net包并解压. 找到 bin\net\4.0\releas ...

  8. 公司项目笔记-导出excel

    一.asp.net中导出Excel的方法: 在asp.net中导出Excel有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址输出在浏览器上:一种是将文件直接将文件输出流写给浏览 ...

  9. SQL Server中带事务的存储过程简单举例

    先来看一个概念: 数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完整地执行,要么完全地不执行.那么在存储过程里添加事务,则可以保证该事务里的所 ...

  10. android 开发环境搭建 (转)

    最近由于工作中要负责开发一款Android的App,之前都是做JavaWeb的开发,Android开发虽然有所了解,但是一直没有搭建开发环 境去学习,Android的更新速度比较快了,Android1 ...