Welcome 微信登录

首页 / 数据库 / MySQL / 探索Oracle不完全恢复之--基于备份控制文件恢复

基于备份控制文件(unsing backup controlfile)的恢复主要适用于:基于备份控制文件的恢复只要适用于以下情况:表空间被意外删除;所有控制文件全部损坏。 1、关闭数据库执行一次全库冷备份:SQL> select file_name from dba_data_files; FILE_NAME--------------------------------------------------------------------------------/DBBak2/oradata/WWL/users01.dbf/DBBak2/oradata/WWL/sysaux01.dbf/DBBak2/oradata/WWL/undotbs01.dbf/DBBak2/oradata/WWL/system01.dbf/DBBak2/oradata/WWL/WWL001.dbf/DBBak2/oradata/WWL/WWL002.dbf/DBBak2/oradata/WWL/WWL003.dbf 7 rowsselected. SQL> shutdown immediateDatabaseclosed.Databasedismounted.Oracleinstance shut down. SQL> !mkdir /DBBak2/oradata/WWL2 SQL> !cp /DBBak2/oradata/WWL/* /DBBak2/oradata/WWL2/ 通过如上的操作数据库现在已经有了一个冷备份了,里面包含另外wwl表空间,现在模拟用户误删除了wwl表空间。 SQL> startupORACLEinstance started.TotalSystem Global Area  100663296 bytesFixedSize                  1217884 bytesVariableSize              88083108 bytesDatabaseBuffers            8388608 bytesRedoBuffers                2973696 bytesDatabasemounted.Databaseopened.SQL>  模拟删除表空间SQL> drop tablespace wwl including contents;Tablespacedropped.     当前的控制文件中已经不包含wwl表空间了,但是我们之前冷备份的控制文件中还是包含的,所以必须使用以前的控制文件来进行wwl表空间的恢复。 还原之前备份的数据文件:SQL> shutdown immediateDatabaseclosed.Databasedismounted.ORACLEinstance shut down.  SQL> !rm -rf /DBBak2/oradata/WWL/*.dbf SQL> !rm -rf /DBBak2/oradata/WWL/*.ctl SQL> !cp /DBBak2/oradata/WWL2/*.dbf /DBBak2/oradata/WWL/ SQL> !cp /DBBak2/oradata/WWL2/*.ctl /DBBak2/oradata/WWL/ SQL>   使用控制文件进行恢复:SQL> startupORACLEinstance started. TotalSystem Global Area  100663296 bytesFixedSize                  1217884 bytesVariableSize              88083108 bytesDatabaseBuffers            8388608 bytesRedoBuffers                2973696 bytesDatabasemounted.ORA-00338:log 5 of thread 1 is more recent than control fileORA-00312:online log 5 thread 1: "/DBBak2/oradata/WWL/redo5a.log"ORA-00312:online log 5 thread 1: "/DBBak2/oradata/WWL/redo5b.log"  SQL> recover database using backup controlfile until cancel;ORA-00279:change 1782560 generated at 07/31/2012 14:37:24 needed for thread 1ORA-00289:suggestion : /DBSoft/product/10.2.0/db_1/dbs/arch/1_3_790085314.dbfORA-00280:change 1782560 for thread 1 is in sequence #3  Specifylog: {<RET>=suggested | filename | AUTO | CANCEL}cancelMediarecovery cancelled. SQL> alter database open resetlogs; Databasealtered. SQL> 至此已经恢复成功。相关阅读:探索Oracle之RMAN_01概念 http://www.linuxidc.com/Linux/2012-05/60530.htm探索Oracle之RMAN_02基本使用 http://www.linuxidc.com/Linux/2012-05/60578.htm探索Oracle之RMAN_03非一致性备份 http://www.linuxidc.com/Linux/2012-05/61025.htm探索Oracle之RMAN_04非一致性备份 http://www.linuxidc.com/Linux/2012-05/61180.htm探索Oracle之RMAN_05增量备份 http://www.linuxidc.com/Linux/2012-05/61181.htm探索Oracle之RMAN_06备份策略 http://www.linuxidc.com/Linux/2012-05/61450.htm探索Oracle之RMAN_07单个数据文件丢失恢复 http://www.linuxidc.com/Linux/2012-06/63524.htm探索Oracle之RMAN_07整个业务表空间丢失恢复 http://www.linuxidc.com/Linux/2012-07/64582.htm探索Oracle之RMAN_07 磁盘损坏数据丢失恢复 http://www.linuxidc.com/Linux/2012-07/64588.htm探索Oracle之RMAN_07 数据库所有文件全部丢失恢复 http://www.linuxidc.com/Linux/2012-07/64587.htm探索Oracle之RMAN_07 重做日志redu文件丢失恢复 http://www.linuxidc.com/Linux/2012-07/64586.htm探索Oracle之RMAN_07 参数文件丢失恢复 http://www.linuxidc.com/Linux/2012-07/64585.htm探索Oracle之RMAN_07控制文件丢失恢复 http://www.linuxidc.com/Linux/2012-07/64584.htm探索Oracle之RMAN_07 system表空间丢失恢复 http://www.linuxidc.com/Linux/2012-07/64583.htm探索Oracle不完全恢复之--基于cancel的恢复 第二篇using backup controlfile和 until cancel 区别相关资讯      Oracle不完全恢复 
  • Oracle数据库完全恢复和不完全恢复  (09/29/2014 20:13:21)
  • 探索Oracle不完全恢复之--基于  (07/31/2012 21:00:44)
  • 探索Oracle不完全恢复之--基于SCN  (07/31/2012 20:58:32)
  • 探索Oracle不完全恢复之--基于  (07/31/2012 21:01:22)
  • 探索Oracle不完全恢复之--基于检查  (07/31/2012 21:00:01)
  • 探索Oracle不完全恢复之--基于时间  (07/31/2012 20:57:33)
本文评论 查看全部评论 (0)
表情: 姓名: 字数