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

2014-11-24 16:43:36 · 作者: · 浏览: 7
unt;
restore spfile 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 spfile from autobackup maxseq 200 maxdays 1000;
}
shutdown immediate;
将参数文件还原到不同的位置和文件中的示例(假定数据库正在启动和运行):
set oracle_sid=orcl
rman target sys/pwd
set dbid=1247395743
startup nomount;
restore spfile to 'f:/backup/spfile.restore' from autobackup;
shutdown immediate;
2.1.2 使用RMAN 和 FRA 从自动备份中恢复服务器参数文件
使用FRA 恢复参数文件比不使用FRA 简单。 首先,我们不需要担心DBID 没有意义,也不用操心分配通道的工作,这就节省了一定的时间。 恢复服务器参数文件时,我们只需要正确配置临时参数文件(确保适当的设置FRA目标目录),启动ORACLE 实例,并且执行restore spfile 命令。
set oracle_sid=orcl
rman target sys/pwd
startup nomount;
restore spfile from autobackup;
shutdown immediate;
2.1.3 从特定的备份集中恢复服务器参数文件
在Oracle 10g中, restore 命令包含了一个from backup子句, 使用该子句可以指示包含服务器参数文件的备份的备份集片。 因此,只需要知道该备份集片的名称和它的位置,就可以还原服务器参数文件。 在某些情况下,查找包含服务器参数文件备份的备份集片可能存在一些困难,但一旦找到了该备份集片,还原工作就会非常简单,当然,最好还原最新的控制文件备份。
为了还原服务器参数文件,首先要启动数据库实例并标识包含服务器参数文件备份的备份集片(或者进行猜测)。 接着启动RMAN,然后设置数据库饿DBID。 一旦设置了DBID,就需要分配通道给要还原的设备。 分配通道后,执行restore spfile 命令,在命令的末尾传入备份集片的名称。 于是RMAN 将服务器参数还原到正确的位置。
set oracle_sid=orcl
rman target sys/pwd
set dbid=1247395743
startup nomount;
run {
allocate channel c1 device type disk;
restore spfile from 'f:/backup/c-1247395743-2010627-00';
}
shutdown immediate;
2.1.4 使用恢复目录恢复服务器参数文件
如果使用了恢复目录,在启动(未加载)ORACLE 实例后简单执行restore spfile 命令就可以还原最新的服务器参数文件。 RMAN 会使用恢复目录找出最新的控制文件备份,并析取这个备份以供用户使用。
set oracle_sid=orcl
rman target sys/pwd catalog user/pwd@sid
startup nomount;
restore spfile from autobackup;
shutdown immediate;
2.1.5 使用联机操作的数据库还原备份的服务器参数文件
不管是否使用控制文件或恢复目录,在数据库启动时从数据库备份中析取服务器参数文件的副本是非常容易的。 我们应当注意到这个操作会生成一个文本参数文件,而不是生成一个服务器参数文件。 因此如果要将这个文本参数文件用作服务器参数文件,就必须转换该文件。
如果不是使用恢复目录并且控制文件的自动备份已经启动,只需要执行下面的命令:
RMAN>RESTORE SPFILE TO PFILE 'D:/BAKCUP/ORCL.ORA' FROM AUTOBACKUP;
对于任何自动备份的还原操作来说,如果不提供maxseq 和maxdays 参数值,RMAN 只需要查找过去7天内生成的控制文件的自动备份片。
如果没有使用恢复目录与控制文件自动备份,或者是在使用恢复目录,就可以执行:
RMAN>RESTORE SPFILE TO PFILE 'D:/BACKUP/ORCL.ORA';
这种情况下,Oracle 会使用数据库控制文件找到最新的备份集,并从这个备份集中还原服务器参数文件。
2.2 还原控制文件
2.2.1 使用RMAN(不使用FRA)从自动备份中恢复控制文件
ORACLE 会默认地在$ORACLE_HOME/dbs 或者 $ORACLE_HOME/DATABASE 目录中创建服务器参数文件与控制文件。
假设已经还原了实例参数文件和启动了实例,还原控制文件时,一般过程是先设置ORACLE_SID 和 登陆 RMAN, 然后设置DBID, 使RMAN知道需要查找哪一个数据库的控制文件。
如果使用默认的位置来存储控制文件的自动备份,就可以简单的执行:Restore controlfile from autobackup, 这样RMAN 就可以查找包含最新控制文件的控制文件备份集。 一旦恢复了控制文件,就必须关闭重启数据库实例。如果使用的是非默认位置,就需要分配一个指向该位置的通道,然后在使用相同的方法来还原控制文件。
执行 restore controlfile from autobackup 命令时,Oracle 会在默认位置中(或者在使用allocate channel 命令定义的为位置中)查找自动的控制文件备份集。 通过DBID, RMAN 使用这个DBID在包含控制文件备份的目录中查找数据库的最新控制文件备份集。 通过应用restore 命令的maxseq 和 maxdays 参数,可以修改RMAN查找控制文件自动备份的时间周期。