首页 > 其他 > 详细

使用rman恢复数据小结

时间:2017-07-05 23:26:59      阅读:254      评论:0      收藏:0      [点我收藏+]

 

恢复前提有数据备份

以 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恢复数据小结

原文:http://www.cnblogs.com/fanxuanhui-linux/p/7123983.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!