16.6.2 如何进行块介质恢复

数据块损坏的信息可以从多种渠道获得,例如,数据库的警告文件、用户进程的跟踪文件、DBVERIFY工具的执行结果、动态性能视图v$database_block_corruption等。例如,在用户进程的跟踪文件将发现类似如下的信息:


ORA-01578:ORACLE data block corrupted(file#7,block#3)

ORA-01110:data file 7:'/u01/app/base/orcl/t11.dbf'


利用RMAN工具,可以对单个的数据块进行恢复。例如:


$rman target sys/1234@orcl catalog rman/1234@test

RMAN>RECOVER

DATAFILE 7 BLOCK 3

DATAFILE 2 BLOCK 19;


在恢复之前,确保通道是可用的。在恢复时也可以指定从一个特定的备份集中进行恢复,例如:


RMAN>RECOVER

DATAFILE 7 BLOCK 3

DATAFILE 2 BLOCK 19

FROM BACKUPSET 10;


其中备份集的编号是通过下面的命令获得的:


RMAN>LIST BACKUPSET SUMMARY;


通过下面的命令,可以对动态性能视图v$database_block_corruption中记录的坏块一起进行恢复:


RMAN>RECOVER CORRUPTION LIST;