recover block corruption
BLOCK RECOVER命令总是指定一个要还原和恢复的一个或多个块的列表,可选地指定从其进行还原的备份。如下列命令:
[list=1]
[*]RMAN> block recover datafile 7 block 5;
指示RMAN从文件最近的备份集或映像副本中还原和恢复一个指定的块。该语法还接受几个文件中的块列表:
[list=1]
[*]RMAN> block recover datafile 7 block 5,6,7 datafile 9 block 21,25;
可能会有有关备份完整性的怀疑。在那种情况下,可指示RMAN从已知是好的备份中还原块:
[list=1]
[*]RMAN> block recover datafile 7 block 5 from backupset 1093;
将从指定的备份集还原,也可通过标记指定:
[list=1]
[*]RMAN> block recover datafile 7 block 5 from tag monthly_whole;
如果损坏范围较大,BMR的另外两个选项可简化此过程。其一,假定RMAN通过运行将MAXCORRUPT设置为大于0的备份填充了视图V$DATABASE_BLOCK_CORRUPTION,那么CORRUPTION LIST选项将指示RMAN还原和恢复视图中列出的每个块。其二,要确保用于还原的备份来自于发生损坏前的一个时间点,可用UNTIL选项。例如,
[list=1]
[*]RMAN> block recover corruption list until time sysdate - 7;
指示RMAN还原和恢复已被前一备份操作发现受损的每个块,使用至少一周前创建的备份。提示:在BMR上下文中,关键字UNTIL并不表示不完整恢复。它意味着还原必须从特定日期(序列号或SCN)之前创建的备份中进行。