基于备份控制文件(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)