RMAN系列(五),RMAN还原与恢复(四)

2014-11-24 16:43:36 · 作者: · 浏览: 4
使用默认设置的示例:
set oracle_sid=orcl
rman target sys/pwd
set dbid=1247395743
startup nomount;
restore controlfile from autobackup;
shutdown immediate;
不使用默认设置的示例:
set oracle_sid=orcl
rman target sys/pwd
set dbid=1247395743
startup nomount;
run {
set controlfile autobackup format for device type disk to 'f:/backup/%f';
allocate channel c1 device type disk;
restore spfile from autobackup;
}
shutdown immediate;
使用maxseq 和 maxdays 参数在超过默认天数(10天)的时间周期内向后查找控制文件备份集:
set oracle_sid=orcl
rman target sys/pwd
set dbid=1247395743
startup nomount;
run {
set controlfile autobackup format for device type disk to 'f:/backup/%f';
allocate channel c1 device type disk;
restore controlfile from autobackup maxseq 200 maxdays 1000;
}
shutdown immediate;
将参数文件还原到不同的位置和文件中的示例(假定数据库正在启动和运行):
set oracle_sid=orcl
rman target sys/pwd
set dbid=1247395743
startup nomount;
restore controlfile to 'f:/backup/ctl.restore' from autobackup;
shutdown immediate;
2.2.2 使用RMAN 和 FRA 从自动备份中恢复控制文件
使用FRA恢复控制文件过程非常简单,首先确保FRA位置参数被正确设置。 然后启动实例,执行: restore controlfile from autobackup;
set oracle_sid=orcl
rman target sys/pwd
startup nomount;
restore controlfile from autobackup;
shutdown immediate;
也可以使用maxseq 和 maxdays 参数进行设置:
Restore controlfile from autobackup maxseq 200 maxdays 100;
2.2.3 恢复较早的控制文件备份
有时候,可能需要恢复一段时间以前建立的控制文件备份,因而控制文件不是来自于最新的备份(执行resetlogs 通常是这样)。 结合until time 参数,restore controlfile from autobackup 命令可以实现这一操作。 如:
Restore controlfile from autobackup until time "to_date('2010-6-27 13:25:00','yyyy-mm-dd hh24:mi:ss')";
如果要使用这个命令,就需要知道哪些控制文件备份可以用于操作。 可以使用list backup of controlfile 命令确定哪些备份控制文件可以用于还原操作。
RMAN> list backup of controlfile;
备份集列表
===================
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
113 Full 16.00M SBT_TAPE 00:00:05 18-6月 -10
BP 关键字: 116 状态: AVAILABLE 已压缩: NO 标记: TAG20100618T085926
句柄: 07lghd6e_1_1 介质: /,07lghd6e_1_1
包括的控制文件: Ckp SCN: 1403939 Ckp 时间: 18-6月 -10
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
558 Full 9.52M DISK 00:00:02 26-6月 -10
BP 关键字: 560 状态: AVAILABLE 已压缩: NO 标记: TAG20100626T154715
段名:D:/APP/ADMINISTRATOR/FLASH_RECOVERY_AREA/ORCL/AUTOBACKUP/2010_06_26/O1_MF_S_722706435_62CD44SN_.BKP
包括的控制文件: Ckp SCN: 7992586 Ckp 时间: 26-6月 -10
2.2.4 从备份集中恢复控制文件
在Oracle 10g中,restore 有from backup 子句,使用该子句可以指示包含控制文件备份的备份集。因此只需要知道了该备份集片的名称和它的位置,就可以还原控制文件。
为了还原控制文件,首先设置数据库的实例并标识包含控制文件备份的备份集(或者进行猜测)。 接着启动RMAN,然后设置数据库的DBID。 设置完后就需要分配通道给要还原的设备,分配通道后,执行restore controlfile from 命令,就可还原控制文件并复制到不同的control_file 参数位置。
set oracle_sid=orcl
rman target sys/pwd
set dbid=1247395743
startup nomount;
run {
allocate channel c1 device type disk;
restore controlfile from 'F:/BACKUP/ORCL_0OLGTB96_1_1.BAK';
}
shutdown immediate;
2.2.5 使用恢复目录恢复控制文件
使用恢复目录,可以简单的执行restore controlfile 命令,还原最新的控制文件,RMAN会使用恢复目录找出最新的控制文件备份,并析取这个备份以供用户使用。
Set oracle_sid=orcl
Rman target sys/pwd catalog user/pwd@sid;
Startup nomount;
Restore controlfile;
Alter database mount;
2.2.6 还原控制文件后的数据库恢复
当使用RMAN 还原控制文件(并