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