OMF下Restore Oracle Datafile的优先级问题

OMF 即Oracle Managed Files   下管理的数据文件,如果 原数据文件存在 则会restore 到原数据文件的位置,如果不存在 则会restore到db_create_file_dest  指向的位置,详见如下测试:

 

restore的优先级如下:

  1. If “SET NEWNAME” is specified, RMAN will use that name for restore.
  2. If the original file exists, RMAN will use the original filename for restore.
  3. If the DB_CREATE_FILE_DEST is set, RMAN will use the diskgroup name specified.
  4. If no DB_CREATE_FILE_DEST is set and the original file does not exist, then RMAN will create another name
  5. for that file in the original disk group.                                          askmaclean.com

注意 只要 一旦使用“DB_CREATE_FILE_DEST有值” restore过数据文件,则 控制文件内容将被”污染” 变成指向新的DB_CREATE_FILE_DEST的文件位置。

 

SQL> show parameter db_create_file_dest
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
db_create_file_dest string
C:\APP\XIANGBLI\ORADATA
SQL> create tablespace test_omf datafile size 5M;
表空间已创建。
SQL> select name from v$datafile;
NAME
-----------------------------------------------------------------------------
C:\APP\XIANGBLI\ORADATA\MACLEAN\SYSTEM01.DBF
C:\APP\XIANGBLI\ORADATA\MACLEAN\EXAMPLE01.DBF
C:\APP\XIANGBLI\ORADATA\MACLEAN\SYSAUX01.DBF
C:\APP\XIANGBLI\ORADATA\MACLEAN\MACLEAN1.DBF
C:\APP\XIANGBLI\ORADATA\MACLEAN\UNDOTBS01.DBF
C:\APP\XIANGBLI\ORADATA\MACLEAN\USERS01.DBF
C:\APP\XIANGBLI\ORADATA\MACLEAN\ILM_PART1.DBF
C:\APP\XIANGBLI\ORADATA\MACLEAN\ILM_PART2.DBF
C:\APP\XIANGBLI\ORADATA\MACLEAN\LOW_COST_STORE.DBF
C:\APP\XIANGBLI\ORADATA\MACLEAN\SOURCE_TBS.DBF
C:\APP\XIANGBLI\PRODUCT\12.1.0\DBHOME_2\DATABASE\MISSING00011
NAME
-----------------------------------------------------------------------------
C:\APP\XIANGBLI\PRODUCT\12.1.0\DBHOME_2\DATABASE\MISSING00012
C:\APP\XIANGBLI\ORADATA\MACLEAN\DATAFILE\O1_MF_USERS_93RDWOBL_.DBF
C:\APP\XIANGBLI\ORADATA\MACLEAN\DATAFILE\O1_MF_TEST_OMF_93X25VFH_.DBF
已选择 14 行。
C:\Users\xiangbli>mkdir C:\APP\XIANGBLI\ORADATA1
SQL> alter system set db_create_file_dest='C:\APP\XIANGBLI\ORADATA1';
系统已更改。
RMAN> alter tablespace test_omf offline;
已处理语句
RMAN> backup tablespace test_omf;
RMAN> report schema;
db_unique_name 为 MACLEAN 的数据库的数据库方案报表
永久数据文件列表
===========================
文件大小 (MB) 表空间 回退段数据文件名称
---- -------- -------------------- ------- ------------------------
1 1117 SYSTEM *** C:\APP\XIANGBLI\ORADATA\MACLEAN\SYSTEM01.DBF
2 358 EXAMPLE *** C:\APP\XIANGBLI\ORADATA\MACLEAN\EXAMPLE01.DBF
3 1390 SYSAUX *** C:\APP\XIANGBLI\ORADATA\MACLEAN\SYSAUX01.DBF
4 10 ILM_DATA *** C:\APP\XIANGBLI\ORADATA\MACLEAN\MACLEAN1.DBF
5 725 UNDOTBS1 *** C:\APP\XIANGBLI\ORADATA\MACLEAN\UNDOTBS01.DBF
6 32763 USERS *** C:\APP\XIANGBLI\ORADATA\MACLEAN\USERS01.DBF
7 20 ILM_PART1 *** C:\APP\XIANGBLI\ORADATA\MACLEAN\ILM_PART1.DBF
8 20 ILM_PART2 *** C:\APP\XIANGBLI\ORADATA\MACLEAN\ILM_PART2.DBF
9 40 LOW_COST_STORE *** C:\APP\XIANGBLI\ORADATA\MACLEAN\LOW_COST_STORE.DBF
10 10 SRC_TBS *** C:\APP\XIANGBLI\ORADATA\MACLEAN\SOURCE_TBS.DBF
11 0 NONOMF *** C:\APP\XIANGBLI\PRODUCT\12.1.0\DBHOME_2\DATABASE\MISSING00011
12 0 LLV *** C:\APP\XIANGBLI\PRODUCT\12.1.0\DBHOME_2\DATABASE\MISSING00012
13 10 USERS *** C:\APP\XIANGBLI\ORADATA\MACLEAN\DATAFILE\O1_MF_USERS_93RDWOBL_.DBF
14 0 TEST_OMF *** C:\APP\XIANGBLI\ORADATA\MACLEAN\DATAFILE\O1_MF_TEST_OMF_93X25VFH_.DBF
RMAN> restore tablespace test_omf;
启动 restore 于 22-9月 -13
使用通道 ORA_DISK_1
正在略过数据文件 14; 已还原到文件 C:\APP\XIANGBLI\ORADATA\MACLEAN\DATAFILE\O1_MF_TEST_OMF_93X25VFH_.DBF
没有完成还原; 所有文件均为只读或脱机文件或者已经还原
完成 restore 于 22-9月 -13
RMAN> restore tablespace test_omf force;
启动 restore 于 22-9月 -13
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在开始还原数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00014 还原到 C:\APP\XIANGBLI\ORADATA\MACLEAN\DATAFILE\O1_MF_TEST_OMF_93X25VFH_.DBF
通道 ORA_DISK_1: 正在读取备份片段 C:\APP\XIANGBLI\FAST_RECOVERY_AREA\MACLEAN\BACKUPSET\2013_09_22\O1_MF_NNNDF_TAG20130922T140621_93X26Y00_.BKP
通道 ORA_DISK_1: 段句柄 = C:\APP\XIANGBLI\FAST_RECOVERY_AREA\MACLEAN\BACKUPSET\2013_09_22\O1_MF_NNNDF_TAG20130922T140621_93X26Y00_.BKP 标记 = TAG20130922T14062
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:00:01
完成 restore 于 22-9月 -13
C:\Users\xiangbli>del C:\APP\XIANGBLI\ORADATA\MACLEAN\DATAFILE\O1_MF_TEST_OMF_93X25VFH_.DBF
这里还原到了C:\APP\XIANGBLI\ORADATA\MACLEAN\DATAFILE\O1_MF_TEST_OMF_93X25VFH_.DBF,由于数据文件本身存在
C:\Users\xiangbli>rman target /
恢复管理器: Release 12.1.0.1.0 - Production on 星期日 9月 22 14:07:21 2013
Copyright (c) 1982, 2013, Oracle and/or its affiliates. All rights reserved.
已连接到目标数据库: MACLEAN (DBID=1694338843)
RMAN> restore tablespace test_omf;
启动 restore 于 22-9月 -13
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=20 设备类型=DISK
通道 ORA_DISK_1: 正在开始还原数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00014 还原到 C:\APP\XIANGBLI\ORADATA\MACLEAN\DATAFILE\O1_MF_TEST_OMF_93X25VFH_.DBF
通道 ORA_DISK_1: 正在读取备份片段 C:\APP\XIANGBLI\FAST_RECOVERY_AREA\MACLEAN\BACKUPSET\2013_09_22\O1_MF_NNNDF_TAG20130922T140621_93X26Y00_.BKP
通道 ORA_DISK_1: 段句柄 = C:\APP\XIANGBLI\FAST_RECOVERY_AREA\MACLEAN\BACKUPSET\2013_09_22\O1_MF_NNNDF_TAG20130922T140621_93X26Y00_.BKP 标记 = TAG20130922T14062
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:00:01
完成 restore 于 22-9月 -13
C:\Users\xiangbli>dir C:\APP\XIANGBLI\ORADATA\MACLEAN\DATAFILE\O1_MF_TEST_OMF_93X25VFH_.DBF
驱动器 C 中的卷是 System
卷的序列号是 C23A-ECDA
C:\APP\XIANGBLI\ORADATA\MACLEAN\DATAFILE 的目录
找不到文件
C:\Users\xiangbli>dir C:\APP\XIANGBLI\ORADATA1\MACLEAN\DATAFILE\O1_MF_TEST_OMF_93X28YSV_.DBF
驱动器 C 中的卷是 System
卷的序列号是 C23A-ECDA
C:\APP\XIANGBLI\ORADATA1\MACLEAN\DATAFILE 的目录
2013/09/22 14:07 5,251,072 O1_MF_TEST_OMF_93X28YSV_.DBF
1 个文件 5,251,072 字节
0 个目录 84,377,939,968 可用字节
RMAN> report schema;
使用目标数据库控制文件替代恢复目录
db_unique_name 为 MACLEAN 的数据库的数据库方案报表
永久数据文件列表
===========================
文件大小 (MB) 表空间 回退段数据文件名称
---- -------- -------------------- ------- ------------------------
1 1117 SYSTEM *** C:\APP\XIANGBLI\ORADATA\MACLEAN\SYSTEM01.DBF
2 358 EXAMPLE *** C:\APP\XIANGBLI\ORADATA\MACLEAN\EXAMPLE01.DBF
3 1390 SYSAUX *** C:\APP\XIANGBLI\ORADATA\MACLEAN\SYSAUX01.DBF
4 10 ILM_DATA *** C:\APP\XIANGBLI\ORADATA\MACLEAN\MACLEAN1.DBF
5 725 UNDOTBS1 *** C:\APP\XIANGBLI\ORADATA\MACLEAN\UNDOTBS01.DBF
6 32763 USERS *** C:\APP\XIANGBLI\ORADATA\MACLEAN\USERS01.DBF
7 20 ILM_PART1 *** C:\APP\XIANGBLI\ORADATA\MACLEAN\ILM_PART1.DBF
8 20 ILM_PART2 *** C:\APP\XIANGBLI\ORADATA\MACLEAN\ILM_PART2.DBF
9 40 LOW_COST_STORE *** C:\APP\XIANGBLI\ORADATA\MACLEAN\LOW_COST_STORE.DBF
10 10 SRC_TBS *** C:\APP\XIANGBLI\ORADATA\MACLEAN\SOURCE_TBS.DBF
11 0 NONOMF *** C:\APP\XIANGBLI\PRODUCT\12.1.0\DBHOME_2\DATABASE\MISSING00011
12 0 LLV *** C:\APP\XIANGBLI\PRODUCT\12.1.0\DBHOME_2\DATABASE\MISSING00012
13 10 USERS *** C:\APP\XIANGBLI\ORADATA\MACLEAN\DATAFILE\O1_MF_USERS_93RDWOBL_.DBF
14 0 TEST_OMF *** C:\APP\XIANGBLI\ORADATA1\MACLEAN\DATAFILE\O1_MF_TEST_OMF_93X28YSV_.DBF
这次还原到了C:\APP\XIANGBLI\ORADATA1\MACLEAN\DATAFILE\O1_MF_TEST_OMF_93X28YSV_.DBF
C:\Users\xiangbli>del C:\APP\XIANGBLI\ORADATA1\MACLEAN\DATAFILE\O1_MF_TEST_OMF_93X2MBCN_.DBF

Comment

*

沪ICP备14014813号

沪公网安备 31010802001379号