联系:手机/微信(+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内部包,直接还原数据文件,这个模拟的是基础的情况,在实际的恢复中,由于只有数据文件的备份,可能文件不一致,还需要通过一些非常规方法对数据库进行强制打开