恢复前提有数据备份

以 alter database open resetlogs 开机以后多要做一次全备(以前的备份失效了)

恢复参数文件:
  restore spfile from '/home/oracle/bak/PROD4_25s8i1dp_1_1.spfile';

恢复控制文件:
  rman>restore controlfile from '/home/oracle/bak/ctl_PROD4_20170705_68_1';

  rman>alter database mount;

恢复数据文件:

  rman> alter database open;   #报错
  rman>list failure; #查看错误
  rman>advise failure; #恢复建议
  rman>repair failure; #恢复-- yes

恢复一个普通表空间:

  SQL> alter tablespace users offline;
  RMAN> restore tablespace users; #如果不行,关机 然后开启到mount状态
  SQL>shutdown abort mount;
  RMAN> restore tablespace users;
  RMAN> recover database;
  SQL> alter database open;

  SQL> alter tablespace users online;

恢复所有.dbf 数据文件:

  SQL>shutdown abort
  RMAN> startup
  RMAN> restore database;
  RMAN> recover dastabase;
  alter database open;

恢复控制文件:

  shutdown abort

  RMAN>startup #nomount
  恢复控制文件:
    RMAN>restore controfile from '/home/oracle/bak/ctlxxx';
    alter database mount;
    RMAN>recover database
    alter database open resetlog;

当前redo文件损坏

恢复:

  shutdown abort

  rman>startup #

  删除 控制文件,恢复:
    rm *.ctl
    SQL>shutdown abort
    rman> startup
    rman>restore controlfile from '/xxx/xx';
    alter database mount;

    recover database; #xxxx
    recover database until scn xxxx;
      #alter database recover if needed start until change xxx using backup controlfile;

#这些步骤多是垂死挣扎了,多没有用(直接删除控制文件,删除数据文件,然后全库恢复)

  删除 数据文件,恢复:

    rm -rf *.dbf

    RMAN> restore database;
    RMAN> recover database; #报错 (但是数据文件,控制文件是一致)
    rman>recover database until scn xxx;
    alter database open resetlog;

  #当前redo 损坏 ,必然丢数据的。

 

  

使用rman恢复数据小结的更多相关文章

  1. 【Oracle】非RMAN恢复数据文件、控制文件

    实验环境:OEL 5.6 oracle 11g(11.2.0.4.0) 注意: system表空间数据文件不能在线recover,需要启动到mount状态再recover: undo表空间数据文件可以 ...

  2. RMAN恢复数据文件

    实验之前先备份数据库 RMAN>backup database; 在操作系统中删除数据文件 5 SQL> startup ORACLE 例程已经启动. Total System Globa ...

  3. ORACLE11g 没有控制文件如何通过rman备份恢复数据的详细实战过程

    1.副总裁需要裸恢复的严峻现实 集团总部的信息部负责人给我打电话说为了找一年前的记录,所以需要对一年前2015年5月1日的数据进行恢复.而2016年初因为进行迁移,所以有些文件可能丢失,手上只有rma ...

  4. 使用RMAN对数据文件进行恢复

    (1)备份数据库 在使用RMAN进行数据库恢复之前,先用RMAN进行全库备份 [oracle@redhat6 ~]$ rman target / Recovery Manager: Release : ...

  5. RAC 之 RMAN 恢复

    RAC 下的RMAN 讲究的是备份和还原的策略要一致.备份策略的不同,会导致备份结果的分步不同,进而影响恢复的策略和步骤.一般情况下,恢复策略和备份策略必须是对应的.如果备份策略进行了修改,那么恢复也 ...

  6. RAC之RMAN恢复

    之前整理的RMAN 有关还原的文章: RMAN 系列(五) ---- RMAN 还原 与 恢复 http://blog.csdn.net/tianlesoftware/archive/2010/07/ ...

  7. RAC+asm通过rman恢复到单实例+asm

    1.恢复参数文件,并修改参数文件 参数文件指名几个最简单的就行,我的参数文件如下: 2.恢复控制文件,并启动数据库到mount 如果是把备份集从别的服务器拷贝到本地恢复的服务器的目录,使用下面的语句指 ...

  8. RMAN恢复目录

    是否使用RMAN恢复目录(Recovery Catalog 你可能从其他人或书上听过RMAN恢复目录(也有可能是其他名字,RMAN Recovery Catalog的翻译较多较杂,以下简称恢复目录), ...

  9. ORACLE恢复数据

    ORACLE恢复删除表或表记录 一:表的恢复      对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的.一般步骤有: 1.从flash back里查询 ...

随机推荐

  1. Broadcast Receiver广播接收器

    1.概述 广播接收器不仅能接受来自系统的内容,也可以接受来自其他app的内容.广播分为标准广播和有序广播. 2.标准广播 一种完全异步执行的广播,在广播发出之后几乎所有的广播接收器都在同一时刻接受到广 ...

  2. Hibernate框架学习(三)——实体规则、对象状态、一级缓存

    一.Hibernate中的实体规则 1.实体类创建的注意事项 1)持久化类提供无参数构造,因为在Hibernate的底层需要使用反射生成类的实例. 2)成员变量私有,提供公有的get和set方法,需提 ...

  3. learn cmake

    cmake简介 在cmake出现之前,在linuxiax下,大型软件系统一般使用make来控制编译过程,而在Windows下可能是用vs下一个project来构建.一个复杂的系统本身依赖关系就很麻烦, ...

  4. 浅谈AVL树,红黑树,B树,B+树原理及应用

    背景:这几天在看<高性能Mysql>,在看到创建高性能的索引,书上说mysql的存储引擎InnoDB采用的索引类型是B+Tree,那么,大家有没有产生这样一个疑问,对于数据索引,为什么要使 ...

  5. Bootstrap入门!

    什么是Bootstrap? Bootstrap,来自Twitter,是目前很受欢迎的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加 ...

  6. 如何在使用layer.prompt在输入值为空的情况下点击确定继续执行逻辑?

    突然发现在使用LayUI时,用到弹出层layer.prompt时,如果文本框输入值是空的话点击确定没有反应,不能向下执行. 但是我又需要在这种情况下去继续执行判断或逻辑时该怎么做?? 示例:原代码如下 ...

  7. Git:Git入门及基本命令

    Git的结构: Git和代码托管中心 局域网环境下: 1)GitLab服务器 外网环境下: 2)github 3)码云 代码托管中心的任务:维护远程库 本地库和远程库的交互 团队内部协作 跨团队协作 ...

  8. CSS解决ul下面最后一个li的margin

    1.运用css3的nth-child(3n): <!DOCTYPE html> <html> <head> <meta charset="UTF-8 ...

  9. Spring MVC学习总结(7)——Spring MVC整合Ehcache缓存框架

    Ehcache算是当前比较流行的缓存框架,使用缓存可以极大的缓解服务器和数据库的压力,提高访问效率,提高服务器的并发能力.接下来我们看怎么把缓存使用起来. SpringMVC集成Ehcache所需的j ...

  10. SQL SERVER-union

    UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每个 SELECT 语句中 ...