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.                                          askmac.cn

注意 只要 一旦使用“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

Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *