RMAN Restore

目录

1. RMAN恢复的一般过程 

2. 恢复预览

3. 恢复参数文件

4. 恢复控制文件

5. 恢复数据文件

6. 表空间的恢复

7. 系统表空间损坏恢复

8. 所有数据文件丢了(包括system.dbf)

9. 未备份的数据文件恢复

10. 所有参数文件、控制文件、数据文件全丢了的恢复

 11. UNDO坏了

12. RMAN的不完全恢复

  12.1  不完全恢复的类型

   12.2 RMAN不完全恢复的一般流程

13. 将数据库恢复到另一个机器


1. RMAN恢复的一般过程 


    1、restore 还原

    2、recover

2. 恢复预览


 restore ... preview

 查看恢复需要哪些文件
 
 restore tablespace users priview

恢复验证:
 restore ... validate
 
 restore tablespace users validate;


检查备份的可用性:
 validate backupset 1;
 validate backupset 98;


3. 恢复参数文件


    恢复参数文件至少要启到NOMOUNT状态,丢了参数文件是无法启动到nomount
    但RMAN提供了一个运行环境,即便丢了参数文件也可以启动到nomount,
    启动到nomount 后就可以执行恢复了。
 
 restore spfile to '/... ' from '/...';

 RMAN> restore spfile
       from '/u03/rman/ctlbak/c-1307704375-20120422-23';


 或者
 RMAN> restore spfile from autobackup;

 如果控制文件自动备份不在闪回中可以
 
 RMAN> run {
 2> set controlfile autobackup format for device type disk
  to '/u03/rman/ctlbak/%F';
 3> restore spfile from autobackup;
 4> }

     
 RMAN> shutdown immediate;

 RMAN> startup

4. 恢复控制文件


    恢复必须在NOMOUNT状态下进行

    1)在nomount还原控制文件
 restore controlfiel to ... from ...

 RMAN> set dbid=1307704375
 RMAN> set controlfile autobackup format for device type disk
   to '/u03/rman/ctlbak/%F';
 RMAN> restore controlfile from autobackup;
 也可将以上三条简化为一条:
 RMAN> restore controlfile
  from '/u03/rman/ctlbak/c-1307704375-20120422-23';

    2)启动到mount进行数据库恢复
 SQL> alter database mount
 RMAN> recover database;

    3) 以resetlogs  open
 RMAN> sql 'alter database open resetlogs';


5. 恢复数据文件


    1、数据文件离线(offline)
    2、还原数据文件
    3、应用日志恢复
    4、数据文件上线(online)

    例: 
 SQL> host rm /u02/users02.dbf
 SQL> host rm /u01/app/oracle/oradata/orcl/users01.dbf

 SQL> select * from scott.emp;
 select * from scott.emp
                    *
 ERROR at line 1:
 ORA-00376: file 7 cannot be read at this time
 ORA-01110: data file 7: '/u02/users02.dbf'


 恢复:
 SQL> alter database datafile '/u02/users02.dbf'  offline;
 RMAN> restore datafile 7;
 RMAN> recover datafile 7;
 RMAN> sql 'alter database datafile 7 online';


 RMAN> sql 'alter database datafile 4 offline';
 RMAN> restore datafile 4;
 RMAN> recover datafile 4;
 RMAN> sql 'alter database datafile 4 online';

 如果还不行的话,将其所在的表空间online
 SQL> alter tablespace users online;


    例2:磁盘损坏,原有路径无法访问情况的恢复
 如上 /u02 由于磁盘故障,数据完全丢失,且无法访问
 
 由于默认从备份中还原时,是还原到原来的位置,要还原到其他位置时
 还原前要设置新的路径
 set newname for datafile 7 to '/....'


 应用日志进行恢复时,也要告诉oracle,数据文件已经发生变化了,不
 在原有位置了
 switch datafile 7

 RMAN> run {
 2> set newname for datafile 7 to '/u03/users02.dbf';
 3> restore datafile 7;
 4> switch datafile 7;
 5> recover datafile 7;
 6> }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值