--步骤5.恢复控制文件,装载数据库
rman target /
set dbid 1320546556
restore controlfile from 'e:\bk\controlfile\BAK_CTL_FILE_6LO6SON4_1_1_20130412';
启动 restore 于 2013-04-11 13:58:58
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=129 设备类型=DISK
通道 ORA_DISK_1: 正在还原控制文件
通道 ORA_DISK_1: 还原完成, 用时: 00:00:01
输出文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL
输出文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL02.CTL
输出文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL03.CTL
完成 restore 于 2013-04-11 13:59:00
--步骤6.将DB启动到mout状态
alter database mount;
数据库已装载
释放的通道: ORA_DISK_1
--加载备份目录
CATALOG START WITH 'E:\bk';
搜索与样式 E:\bk 匹配的所有文件
数据库未知文件的列表
====================================
文件名: E:\bk\controlfile\BAK_C-1320546556-20130411-03
文件名: E:\bk\controlfile\BAK_CTL_FILE_65O6QILO_1_1_20130411
文件名: E:\bk\controlfile\BAK_SPFILE_66O6QILQ_1_1_20130411
文件名: E:\bk\data\BAK_60O6QIGV
文件名: E:\bk\data\BAK_61O6QIGV
文件名: E:\bk\data\BAK_62O6QIH1
文件名: E:\bk\data\BAK_63O6QIH1
文件名: E:\bk\data\BAK_64O6QILM
是否确实要将上述文件列入目录 (输入 YES 或 NO)? yes
正在编制文件目录...
目录编制完毕
已列入目录的文件的列表
======================
文件名: E:\bk\controlfile\BAK_C-1320546556-20130411-03
文件名: E:\bk\controlfile\BAK_CTL_FILE_65O6QILO_1_1_20130411
文件名: E:\bk\controlfile\BAK_SPFILE_66O6QILQ_1_1_20130411
文件名: E:\bk\data\BAK_60O6QIGV
文件名: E:\bk\data\BAK_61O6QIGV
文件名: E:\bk\data\BAK_62O6QIH1
文件名: E:\bk\data\BAK_63O6QIH1
文件名: E:\bk\data\BAK_64O6QILM
--步骤7.restore 数据库
7.1 恢复目录不同的情况:
到Target 库查询一下:
SQL> select trim(file_id),trim(file_name) from dba_data_files ORDER BY FILE_ID ASC;
1 E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
2 E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
3 E:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
4 E:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
6 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY02.DBF
7 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY03.DBF
8 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY04.DBF
9 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY05.DBF
11 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY06.DBF
12 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY07.DBF
13 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY08.DBF
14 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY09.DBF
15 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY10.DBF
16 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY01.DBF
17 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY11.DBF
18 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY12.DBF
19 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY13.DBF
20 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY14.DBF
21 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY15.DBF
22 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY16.DBF
23 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY17.DBF
24 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY18.DBF
25 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY19.DBF
26 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY20.DBF
SQL>select trim(file_id),trim(file_name) from dba_temp_files;
1 E:\APP\ADMINISTRATOR\ORADATA\ORCL\TEMP01.DBF
select 'SET NEWNAME FOR DATAFILE'|| ' '||file_id||' '||'TO'|| ' '||''''||trim(file_name)||'''' ||';'
from dba_data_files ORDER BY FILE_ID ASC;
---如下实例:
RUN
{
# rename the datafiles
SET NEWNAME FOR DATAFILE 1 TO 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF';
SET NEWNAME FOR DATAFILE 2 TO 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF';
SET NEWNAME FOR DATAFILE 3 TO 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF';
SET NEWNAME FOR DATAFILE 4 TO 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF';
SET NEWNAME FOR DATAFILE 6 TO 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY02.DBF';
SET NEWNAME FOR DATAFILE 7 TO 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY03.DBF';
SET NEWNAME FOR DATAFILE 8 TO 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY04.DBF';
SET NEWNAME FOR DATAFILE 9 TO 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY05.DBF';
SET NEWNAME FOR DATAFILE 11 TO 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY06.DBF';
SET NEWNAME FOR DATAFILE 12 TO 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY07.DBF';
SET NEWNAME FOR DATAFILE 13 TO 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY08.DBF';
SET NEWNAME FOR DATAFILE 14 TO 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY09.DBF';
SET NEWNAME FOR DATAFILE 15 TO 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY10.DBF';
SET NEWNAME FOR DATAFILE 16 TO 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY01.DBF';
SET NEWNAME FOR DATAFILE 17 TO 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY11.DBF';
SET NEWNAME FOR DATAFILE 18 TO 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY12.DBF';
SET NEWNAME FOR DATAFILE 19 TO 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY13.DBF';
SET NEWNAME FOR DATAFILE 20 TO 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY14.DBF';
SET NEWNAME FOR DATAFILE 21 TO 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY15.DBF';
SET NEWNAME FOR DATAFILE 22 TO 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY16.DBF';
SET NEWNAME FOR DATAFILE 23 TO 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY17.DBF';
SET NEWNAME FOR DATAFILE 24 TO 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY18.DBF';
SET NEWNAME FOR DATAFILE 25 TO 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY19.DBF';
SET NEWNAME FOR DATAFILE 26 TO 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY20.DBF';
SQL "ALTER DATABASE RENAME FILE ''E:\app\Administrator\oradata\orcl\REDO01.LOG''
TO ''F:\app\Administrator\oradata\orcl\REDO01.LOG'' ";
SQL "ALTER DATABASE RENAME FILE ''E:\app\Administrator\oradata\orcl\REDO02.LOG''
TO ''F:\app\Administrator\oradata\orcl\REDO02.LOG'' ";
SQL "ALTER DATABASE RENAME FILE ''E:\app\Administrator\oradata\orcl\REDO03.LOG''
TO ''F:\app\Administrator\oradata\orcl\REDO03.LOG'' ";
RESTORE DATABASE;
SWITCH DATAFILE ALL;
}
对switch datafile all的说明:
--对于nocatalog 模式下,rman备份的信息是保存在控制文件里的,包括文件的路径信息。 这里的switch datafile all的作用,就是更新控制文件里的信息。