rman恢复-不完全恢复

rman不完全恢复
只适用于archivelog模式,只能在mount状态下完成。
基于时间恢复
基于时间恢复是指当出现用户错误(例如误删除表、误截断表)时,恢复到指定时间点的恢复。
示例:
模拟误截断表t_user。
在终端设置环境变量nls_date_format指定日期时间格式。
执行rman,启动数据库到mount状态。
使用set until time命令指定要恢复到的时间点。

转储、恢复数据库,并使用resetlogs选项打开数据库。

在实际环境下,应该使用LogMiner确定误操作时间点。
在执行了不完全恢复之后,推荐删除早期所有备份,重新备份数据库。如:
run {
delete noprompt backup;
delete noprompt copy;
backup database format='/oracle/10g/oracle/rman/%d_%s.dbf';
sql 'alter system archive log current';
}

基于SCN恢复
基于SCN恢复是指当出现用户错误(例如误删除表、误截断表)时,恢复到指定SCN点的恢复。
模拟误删除表t_user。
执行rman,启动数据库到mount状态。
使用set until scn命令指定要恢复到的scn点。
转储、恢复数据库,并使用resetlogs选项打开数据库。

在实际环境下,应该使用LogMiner确定误操作SCN点。
在执行了不完全恢复之后,推荐删除早期所有备份,重新备份数据库。


基于日志序列号恢复
基于日志序列号恢复是指恢复数据库到指定日志序列号的状态。

可见不包括日志序列号为3的归档日志信息(oracle_seq3_act),即恢复到日志序列号为2的归档日志。

在执行了不完全恢复之后,推荐删除早期所有备份,重新备份数据库。


基于备份控制文件恢复
基于备份控制文件恢复是指使用备份控制文件恢复数据库的过程。当误删除了表空间或数据库所有控制文件全部损坏时,可以使用这种恢复方法。
模拟误删除了test表空间,因为当前控制文件没有包含该表空间的信息,所以必须使用备份控制文件恢复被误删除的表空间。如果没有使用恢复目录,必须激活控制文件自动备份,否则将不转储控制文件备份。
模拟误删除test表空间。
查看alert日志文件,确定操作时间。
使用rman启动数据库到mount状态。
设置数据库id。
转储控制文件,恢复数据库。

恢复失败,失败原因:restore controlfile from autobackup;用于转储自动备份的最新的控制文件,即删除表空间rtest之后自动备份的控制文件。

解决办法:使用restore controlfile from autobackup until time "to_date('2011-08-31 21:26:16','yyyy-mm-dd hh24:mi:ss')"; 查看alert日志文件确定删除表空间rtest之前自动备份控制文件时间,也就是删除表空间rtest之前的时间点。

你可能感兴趣的:(rman)