RMAN的备份与恢复-数据文件的恢复

C:/Documents and Settings/Administrator>rman target /  

恢复管理器: Release 11.1.0.6.0 - Production on 星期四 6月 30 16:44:30 2011  

Copyright (c) 1982, 2007, Oracle.  All rights reserved.  

连接到目标数据库: ORCL2 (DBID=735415714)  

测试数据文件恢复,我们使用ORCL2库

首先我们查看一下在该库上面有哪些数据文件

 [c-sharp] view plaincopyprint?

  1. RMAN> report schema;  
  2. db_unique_name 为 ORCL2 的数据库的数据库方案报表  
  3. 永久数据文件列表  
  4. ===========================  
  5. 文件大小 (MB) 表空间           回退段数据文件名称  
  6. ---- -------- -------------------- ------- ------------------------  
  7. 1    700      SYSTEM               ***     C:/APP/ADMINISTRATOR/ORADATA/ORCL2/SYSTEM01.DBF  
  8. 2    698      SYSAUX               ***     C:/APP/ADMINISTRATOR/ORADATA/ORCL2/SYSAUX01.DBF  
  9. 3    75       UNDOTBS1             ***     C:/APP/ADMINISTRATOR/ORADATA/ORCL2/UNDOTBS01.DBF  
  10. 4    5        USERS                ***     C:/APP/ADMINISTRATOR/ORADATA/ORCL2/USERS01.DBF  
  11. 临时文件列表  
  12. =======================  
  13. 文件大小 (MB) 表空间           最大大小 (MB) 临时文件名称  
  14. ---- -------- -------------------- ----------- --------------------  
  15. 1    27       TEMP                 32767       C:/APP/ADMINISTRATOR/ORADATA/ORCL2/TEMP01.DBF  

 

然后我们将UNDOTBS1这个数据文件进行删除

 [c-sharp] view plaincopyprint?

  1. RMAN> startup  
  2. 已连接到目标数据库 (未启动)  
  3. Oracle 实例已启动  
  4. 数据库已装载  
  5. DBGANY:     Mismatched message length! [16:46:22.917] (krmiduem)  
  6. DBGANY:     Mismatched message length! [16:46:22.917] (krmiduem)  
  7. RMAN-00571: ===========================================================  
  8. RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============  
  9. RMAN-00571: ===========================================================  
  10. RMAN-00600: internal error, arguments [3045] [] [] [] []  
  11. RMAN-00571: ===========================================================  
  12. RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============  
  13. RMAN-00571: ===========================================================  
  14. RMAN-03002: startup 命令 (在 06/30/2011 16:46:22 上) 失败  
  15. ORA-01157: 无法标识/锁定数据文件 3 - 请参阅 DBWR 跟踪文件  
  16. ORA-01110: 数据文件 3: 'C:/APP/ADMINISTRATOR/ORADATA/ORCL2/UNDOTBS01.DBF'  

 

通过上面的report schema我们可以看到删除的数据文件undotbs1的文件号是3,我们先让这个数据文件置为offline

 [c-sharp] view plaincopyprint?

  1. C:/Documents and Settings/Administrator>rman target /  
  2. 恢复管理器: Release 11.1.0.6.0 - Production on 星期四 6月 30 16:46:39 2011  
  3. Copyright (c) 1982, 2007, Oracle.  All rights reserved.  
  4. 已连接到目标数据库: ORCL2 (DBID=735415714, 未打开)  
  5. RMAN> sql "alter database datafile 3 offline";  
  6. 使用目标数据库控制文件替代恢复目录  
  7. sql 语句: alter database datafile 3 offline  

 

然后再恢复该数据文件

 [c-sharp] view plaincopyprint?

  1. RMAN> restore datafile 3;  
  2. 启动 restore 于 30-6月 -11  
  3. 分配的通道: ORA_DISK_1  
  4. 通道 ORA_DISK_1: SID=155 设备类型=DISK  
  5. 通道 ORA_DISK_1: 正在开始还原数据文件备份集  
  6. 通道 ORA_DISK_1: 正在指定从备份集还原的数据文件  
  7. 通道 ORA_DISK_1: 将数据文件 00003 还原到 C:/APP/ADMINISTRATOR/ORADATA/ORCL2/UNDO  
  8. TBS01.DBF  
  9. 通道 ORA_DISK_1: 正在读取备份片段 C:/APP/ADMINISTRATOR/FLASH_RECOVERY_AREA/ORCL2  
  10. /BACKUPSET/2011_06_30/O1_MF_NNNDF_TAG20110630T163531_70RFC07T_.BKP  
  11. 通道 ORA_DISK_1: 段句柄 = C:/APP/ADMINISTRATOR/FLASH_RECOVERY_AREA/ORCL2/BACKUPS  
  12. ET/2011_06_30/O1_MF_NNNDF_TAG20110630T163531_70RFC07T_.BKP 标记 = TAG20110630T16  
  13. 3531  
  14. 通道 ORA_DISK_1: 已还原备份片段 1  
  15. 通道 ORA_DISK_1: 还原完成, 用时: 00:00:03  
  16. 完成 restore 于 30-6月 -11  
 

然后进行recover

[c-sharp] view plaincopyprint?

  1. RMAN> recover datafile 3;  
  2. 启动 recover 于 30-6月 -11  
  3. 使用通道 ORA_DISK_1  
  4. 正在开始介质的恢复  
  5. 介质恢复完成, 用时: 00:00:00  
  6. 完成 recover 于 30-6月 -11  
 

那么restore和recover有什么区别呢?

restore 是还原物理文件

recover 是用日志恢复到一致

用了RMAN备份后就必须要用restore还原,然后才用recover恢复

restore——还原,与backup相对,从备份读出恢复备份的数据。 
recover——恢复,把restore回来的数据经过一番处理变成正常数据。

如果restore,而不recover的话,数据库是打不开的!因为各文件都不同步

 

 

然后将恢复好的数据文件置为online

 [c-sharp] view plaincopyprint?

  1. RMAN> sql "alter database datafile 3 online";  
  2. sql 语句: alter database datafile 3 online  
 

 

启动即可

 [c-sharp] view plaincopyprint?

  1. RMAN> startup  
  2. 数据库已经启动  
  3. 数据库已打开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值