联系:手机/微信(+86 17813235971) QQ(107644445)
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
最近有朋友咨询,只有rman备份数据文件,无控制文件备份的问题,这里进行分析验证
只有数据文件的rman备份
这里只有数据文件的备份,没有任何控制文件的备份
C:\Documents and Settings\Administrator>e: E:\>dir 驱动器 E 中的卷是 新加卷 卷的序列号是 68FB-8527 E:\ 的目录 2018-03-29 10:53 6,163,873,792 FULL_20180329_01SV08N2_1_1.RMAN 2018-03-29 10:54 1,050,558,464 FULL_20180329_02SV0918_1_1.RMAN 2018-03-29 10:56 2,167,414,784 FULL_20180329_03SV092B_1_1.RMAN 2018-03-29 11:07 1,034,625,024 FULL_20180329_05SV09QQ_1_1.RMAN 2018-03-29 11:07 1,376,256 FULL_20180329_06SV09RJ_1_1.RMAN 2018-03-29 11:08 3,104,768 FULL_20180329_07SV09TP_1_1.RMAN
还原system01.dbf
SQL> startup nomount ORACLE 例程已经启动。 Total System Global Area 2137886720 bytes Fixed Size 2177456 bytes Variable Size 1224738384 bytes Database Buffers 905969664 bytes Redo Buffers 5001216 bytes SQL> @restore_datafile.sql system01.dbf Trying : E:/FULL_20180329_02SV0918_1_1.RMAN From : DISK Data File : Found ------------------------ RESTORED Data File To: D:\oradata\orcl\system01.dbf PL/SQL 过程已成功完成。
重建控制文件
SQL> startup nomount pfile=e:/pfile.txt ORACLE 例程已经启动。 Total System Global Area 2137886720 bytes Fixed Size 2177456 bytes Variable Size 1224738384 bytes Database Buffers 905969664 bytes Redo Buffers 5001216 bytes SQL> CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS NOARCHIVELOG 2 MAXLOGFILES 50 3 MAXLOGMEMBERS 5 4 MAXDATAFILES 100 5 MAXINSTANCES 1 6 MAXLOGHISTORY 226 7 LOGFILE 8 GROUP 1 'D:\oradata\orcl\redo01.log' SIZE 100M, 9 GROUP 2 'D:\oradata\orcl\redo02.log' SIZE 100M, 10 GROUP 3 'D:\oradata\orcl\redo03.log' SIZE 100M 11 DATAFILE 12 'D:\oradata\orcl\system01.dbf' 13 CHARACTER SET ZHS16GBK 14 ; 控制文件已创建。
注册备份集
E:\>rman target / 恢复管理器: Release 11.2.0.1.0 - Production on 星期四 3月 29 15:46:17 2018 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. 已连接到目标数据库: ORCL (DBID=1449113534, 未打开) RMAN> catalog start with 'e:/*.rman'; 使用目标数据库控制文件替代恢复目录 搜索与样式 e:/*.rman 匹配的所有文件 数据库未知文件的列表 ===================================== 文件名: E:\FULL_20180329_01SV08N2_1_1.RMAN 文件名: E:\FULL_20180329_02SV0918_1_1.RMAN 文件名: E:\FULL_20180329_03SV092B_1_1.RMAN 文件名: E:\FULL_20180329_05SV09QQ_1_1.RMAN 文件名: E:\FULL_20180329_06SV09RJ_1_1.RMAN 文件名: E:\FULL_20180329_07SV09TP_1_1.RMAN 是否确实要将上述文件列入目录 (输入 YES 或 NO)? yes 正在编制文件目录... 目录编制完毕 已列入目录的文件的列表 ======================= 文件名: E:\FULL_20180329_01SV08N2_1_1.RMAN 文件名: E:\FULL_20180329_02SV0918_1_1.RMAN 文件名: E:\FULL_20180329_03SV092B_1_1.RMAN 文件名: E:\FULL_20180329_05SV09QQ_1_1.RMAN 文件名: E:\FULL_20180329_06SV09RJ_1_1.RMAN 文件名: E:\FULL_20180329_07SV09TP_1_1.RMAN RMAN> list backup; 备份集列表 =================== BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间 ------- ---- -- ---------- ----------- ------------ ---------- 1 Full 5.74G DISK 00:00:00 29-3月 -18 BP 关键字: 1 状态: AVAILABLE 已压缩: NO 标记: TAG20180329T104802 段名:E:\FULL_20180329_01SV08N2_1_1.RMAN 备份集 1 中的数据文件列表 文件 LV 类型 Ckp SCN Ckp 时间 名称 ---- -- ---- ---------- ---------- ---- 5 Full 96384627 29-3月 -18 BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间 ------- ---- -- ---------- ----------- ------------ ---------- 2 Full 1001.88M DISK 00:00:00 29-3月 -18 BP 关键字: 2 状态: AVAILABLE 已压缩: NO 标记: TAG20180329T104802 段名:E:\FULL_20180329_02SV0918_1_1.RMAN 备份集 2 中的数据文件列表 文件 LV 类型 Ckp SCN Ckp 时间 名称 ---- -- ---- ---------- ---------- ---- 1 Full 96384627 29-3月 -18 D:\ORADATA\ORCL\SYSTEM01.DBF BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间 ------- ---- -- ---------- ----------- ------------ ---------- 3 Full 2.02G DISK 00:00:00 29-3月 -18 BP 关键字: 3 状态: AVAILABLE 已压缩: NO 标记: TAG20180329T104802 段名:E:\FULL_20180329_03SV092B_1_1.RMAN 备份集 3 中的数据文件列表 文件 LV 类型 Ckp SCN Ckp 时间 名称 ---- -- ---- ---------- ---------- ---- 6 Full 96384627 29-3月 -18 BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间 ------- ---- -- ---------- ----------- ------------ ---------- 4 Full 986.69M DISK 00:00:00 29-3月 -18 BP 关键字: 4 状态: AVAILABLE 已压缩: NO 标记: TAG20180329T110706 段名:E:\FULL_20180329_05SV09QQ_1_1.RMAN 备份集 4 中的数据文件列表 文件 LV 类型 Ckp SCN Ckp 时间 名称 ---- -- ---- ---------- ---------- ---- 2 Full 96384627 29-3月 -18 BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间 ------- ---- -- ---------- ----------- ------------ ---------- 5 Full 1.30M DISK 00:00:00 29-3月 -18 BP 关键字: 5 状态: AVAILABLE 已压缩: NO 标记: TAG20180329T110706 段名:E:\FULL_20180329_06SV09RJ_1_1.RMAN 备份集 5 中的数据文件列表 文件 LV 类型 Ckp SCN Ckp 时间 名称 ---- -- ---- ---------- ---------- ---- 4 Full 96384627 29-3月 -18 BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间 ------- ---- -- ---------- ----------- ------------ ---------- 6 Full 2.95M DISK 00:00:00 29-3月 -18 BP 关键字: 6 状态: AVAILABLE 已压缩: NO 标记: TAG20180329T110841 段名:E:\FULL_20180329_07SV09TP_1_1.RMAN 备份集 6 中的数据文件列表 文件 LV 类型 Ckp SCN Ckp 时间 名称 ---- -- ---- ---------- ---------- ---- 3 Full 96384627 29-3月 -18
还原所有数据文件
SQL> @restore_datafile all_file Restoring All Data Files : -------------------------- Attempting To Restore :D:\oradata\orcl\1.dbf ------------------------ Trying : E:/FULL_20180329_01SV08N2_1_1.RMAN From : DISK Data File: Not Found ------------------------ Trying : E:/FULL_20180329_02SV0918_1_1.RMAN From : DISK Data File : Found ------------------------ RESTORED Data File To: D:\oradata\orcl\1.dbf Attempting To Restore :D:\oradata\orcl\2.dbf ------------------------ Trying : E:/FULL_20180329_01SV08N2_1_1.RMAN From : DISK Data File: Not Found ------------------------ Trying : E:/FULL_20180329_02SV0918_1_1.RMAN From : DISK Data File: Not Found ------------------------ Trying : E:/FULL_20180329_03SV092B_1_1.RMAN From : DISK Data File: Not Found ------------------------ Trying : E:/FULL_20180329_05SV09QQ_1_1.RMAN From : DISK Data File : Found ------------------------ RESTORED Data File To: D:\oradata\orcl\2.dbf Attempting To Restore :D:\oradata\orcl\3.dbf ------------------------ Trying : E:/FULL_20180329_01SV08N2_1_1.RMAN From : DISK Data File: Not Found ------------------------ Trying : E:/FULL_20180329_02SV0918_1_1.RMAN From : DISK Data File: Not Found ------------------------ Trying : E:/FULL_20180329_03SV092B_1_1.RMAN From : DISK Data File: Not Found ------------------------ Trying : E:/FULL_20180329_05SV09QQ_1_1.RMAN From : DISK Data File: Not Found ------------------------ Trying : E:/FULL_20180329_06SV09RJ_1_1.RMAN From : DISK Data File: Not Found ------------------------ Trying : E:/FULL_20180329_07SV09TP_1_1.RMAN From : DISK Data File : Found ------------------------ RESTORED Data File To: D:\oradata\orcl\3.dbf Attempting To Restore :D:\oradata\orcl\4.dbf ------------------------ Trying : E:/FULL_20180329_01SV08N2_1_1.RMAN From : DISK Data File: Not Found ------------------------ Trying : E:/FULL_20180329_02SV0918_1_1.RMAN From : DISK Data File: Not Found ------------------------ Trying : E:/FULL_20180329_03SV092B_1_1.RMAN From : DISK Data File: Not Found ------------------------ Trying : E:/FULL_20180329_05SV09QQ_1_1.RMAN From : DISK Data File: Not Found ------------------------ Trying : E:/FULL_20180329_06SV09RJ_1_1.RMAN From : DISK Data File : Found ------------------------ RESTORED Data File To: D:\oradata\orcl\4.dbf Attempting To Restore :D:\oradata\orcl\5.dbf ------------------------ Trying : E:/FULL_20180329_01SV08N2_1_1.RMAN From : DISK Data File : Found ------------------------ RESTORED Data File To: D:\oradata\orcl\5.dbf Attempting To Restore :D:\oradata\orcl\6.dbf ------------------------ Trying : E:/FULL_20180329_01SV08N2_1_1.RMAN From : DISK Data File: Not Found ------------------------ Trying : E:/FULL_20180329_02SV0918_1_1.RMAN From : DISK Data File: Not Found ------------------------ Trying : E:/FULL_20180329_03SV092B_1_1.RMAN From : DISK Data File : Found ------------------------ RESTORED Data File To: D:\oradata\orcl\6.dbf PL/SQL 过程已成功完成。
重建控制文件并open数据库
SQL> CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS NOARCHIVELOG 2 MAXLOGFILES 50 3 MAXLOGMEMBERS 5 4 MAXDATAFILES 100 5 MAXINSTANCES 1 6 MAXLOGHISTORY 226 7 LOGFILE 8 GROUP 1 'D:\oradata\orcl\redo01.log' SIZE 100M, 9 GROUP 2 'D:\oradata\orcl\redo02.log' SIZE 100M, 10 GROUP 3 'D:\oradata\orcl\redo03.log' SIZE 100M 11 DATAFILE 12 'D:\oradata\orcl\1.dbf', 13 'D:\oradata\orcl\2.dbf', 14 'D:\oradata\orcl\3.dbf', 15 'D:\oradata\orcl\4.dbf', 16 'D:\oradata\orcl\5.dbf', 17 'D:\oradata\orcl\6.dbf' 18 CHARACTER SET ZHS16GBK 19 ; 控制文件已创建。 SQL> alter database open resetlogs; 数据库已更改。
这里本质就是通过oracle内部包,直接还原数据文件,这个模拟的是基础的情况,在实际的恢复中,由于只有数据文件的备份,可能文件不一致,还需要通过一些非常规方法对数据库进行强制打开