RMAN备份与恢复—恢复无备份的数据文件

首先模拟数据文件丢失

[sql] view plaincopyprint?

  1. RMAN> shutdown immediate  
  2.   
  3. 数据库已关闭  
  4. 数据库已卸装  
  5. Oracle 实例已关闭  
  6.   
  7. RMAN> host;  
  8.    
  9. [oracle@linux dbs]$ rm -rf /u01/app/oracle/oradata/orcl/tb1.dbf   
  10. [oracle@linux dbs]$ exit  
  11. exit  
  12. 主机命令完成  
RMAN> shutdown immediate

数据库已关闭
数据库已卸装
Oracle 实例已关闭

RMAN> host;
 
[oracle@linux dbs]$ rm -rf /u01/app/oracle/oradata/orcl/tb1.dbf 
[oracle@linux dbs]$ exit
exit
主机命令完成


启动数据库看见缺少数据文件

[sql] view plaincopyprint?

  1. RMAN> startup  
  2.   
  3. 已连接到目标数据库 (未启动)  
  4. Oracle 实例已启动  
  5. 数据库已装载  
  6. MAN-00571: ===========================================================  
  7. RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============  
  8. RMAN-00571: ===========================================================  
  9. RMAN-03002: startup 命令 (在 10/12/2011 12:48:55 上) 失败  
  10. ORA-01157: 无法标识/锁定数据文件 5 - 请参阅 DBWR 跟踪文件  
  11. ORA-01110: 数据文件 5: '/u01/app/oracle/oradata/orcl/tb1.dbf'  
RMAN> startup

已连接到目标数据库 (未启动)
Oracle 实例已启动
数据库已装载
MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: startup 命令 (在 10/12/2011 12:48:55 上) 失败
ORA-01157: 无法标识/锁定数据文件 5 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 5: '/u01/app/oracle/oradata/orcl/tb1.dbf'


 

这个时候又没有备份就先创建一个空的数据文件

  1. SQL> alter database create datafile '/u01/app/oracle/oradata/orcl/tb1.dbf';  
  2.   
  3. 数据库已更改。  
SQL> alter database create datafile '/u01/app/oracle/oradata/orcl/tb1.dbf';

数据库已更改。

 

恢复数据文件

  1. RMAN> recover datafile 5;  
  2.   
  3. 启动 recover 于 12-10月-11  
  4. 分配的通道: ORA_DISK_1  
  5. 通道 ORA_DISK_1: sid=155 devtype=DISK  
  6.   
  7. 正在开始介质的恢复  
  8.   
  9. 存档日志线程 1 序列 2 已作为文件 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_2_79b4k73n_.arc 存在于磁盘上  
  10. 存档日志线程 1 序列 3 已作为文件 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_3_79b4n27z_.arc 存在于磁盘上  
  11. 存档日志线程 1 序列 4 已作为文件 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_4_79b4n36w_.arc 存在于磁盘上  
  12. 存档日志线程 1 序列 5 已作为文件 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_5_79b4n9t7_.arc 存在于磁盘上  
  13. 存档日志线程 1 序列 6 已作为文件 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_6_79b4nl3j_.arc 存在于磁盘上  
  14. 存档日志线程 1 序列 7 已作为文件 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_7_79b4wygs_.arc 存在于磁盘上  
  15. 存档日志线程 1 序列 8 已作为文件 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_8_79b5blv7_.arc 存在于磁盘上  
  16. 存档日志线程 1 序列 9 已作为文件 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_9_79b5blx1_.arc 存在于磁盘上  
  17. 存档日志线程 1 序列 10 已作为文件 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_10_79b5blqg_.arc 存在于磁盘上  
  18. 存档日志文件名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_2_79b4k73n_.arc 线程 =1 序列 =2  
  19. 存档日志文件名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_3_79b4n27z_.arc 线程 =1 序列 =3  
  20. 存档日志文件名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_4_79b4n36w_.arc 线程 =1 序列 =4  
  21. 存档日志文件名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_5_79b4n9t7_.arc 线程 =1 序列 =5  
  22. 存档日志文件名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_6_79b4nl3j_.arc 线程 =1 序列 =6  
  23. 存档日志文件名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_7_79b4wygs_.arc 线程 =1 序列 =7  
  24. 存档日志文件名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_8_79b5blv7_.arc 线程 =1 序列 =8  
  25. 存档日志文件名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_9_79b5blx1_.arc 线程 =1 序列 =9  
  26. 存档日志文件名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_10_79b5blqg_.arc 线程 =1 序列 =10  
  27. 介质恢复完成, 用时: 00:00:03  
  28. 完成 recover 于 12-10月-11  
  29.   
  30. RMAN> alter database open;  
  31.   
  32. 数据库已打开  
RMAN> recover datafile 5;

启动 recover 于 12-10月-11
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=155 devtype=DISK

正在开始介质的恢复

存档日志线程 1 序列 2 已作为文件 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_2_79b4k73n_.arc 存在于磁盘上
存档日志线程 1 序列 3 已作为文件 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_3_79b4n27z_.arc 存在于磁盘上
存档日志线程 1 序列 4 已作为文件 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_4_79b4n36w_.arc 存在于磁盘上
存档日志线程 1 序列 5 已作为文件 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_5_79b4n9t7_.arc 存在于磁盘上
存档日志线程 1 序列 6 已作为文件 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_6_79b4nl3j_.arc 存在于磁盘上
存档日志线程 1 序列 7 已作为文件 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_7_79b4wygs_.arc 存在于磁盘上
存档日志线程 1 序列 8 已作为文件 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_8_79b5blv7_.arc 存在于磁盘上
存档日志线程 1 序列 9 已作为文件 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_9_79b5blx1_.arc 存在于磁盘上
存档日志线程 1 序列 10 已作为文件 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_10_79b5blqg_.arc 存在于磁盘上
存档日志文件名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_2_79b4k73n_.arc 线程 =1 序列 =2
存档日志文件名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_3_79b4n27z_.arc 线程 =1 序列 =3
存档日志文件名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_4_79b4n36w_.arc 线程 =1 序列 =4
存档日志文件名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_5_79b4n9t7_.arc 线程 =1 序列 =5
存档日志文件名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_6_79b4nl3j_.arc 线程 =1 序列 =6
存档日志文件名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_7_79b4wygs_.arc 线程 =1 序列 =7
存档日志文件名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_8_79b5blv7_.arc 线程 =1 序列 =8
存档日志文件名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_9_79b5blx1_.arc 线程 =1 序列 =9
存档日志文件名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_12/o1_mf_1_10_79b5blqg_.arc 线程 =1 序列 =10
介质恢复完成, 用时: 00:00:03
完成 recover 于 12-10月-11

RMAN> alter database open;

数据库已打开

可以看见数据已经回来了
[sql] view plaincopyprint?

  1. SQL> conn u1/u1  
  2. 已连接。  
  3. SQL> select * from t;  
  4.   
  5.         ID VALUE  
  6. ---------- ----------  
  7.          1 a 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值