Oracle RMAN- 重启的恢复和块介质恢复

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638    QQ号:47079569    邮箱:[email protected]

 

重新启动的恢复

重新启动的恢复允许重新启动出错的恢复。

Oracle9i中的RMAN引入优化的恢复进程。恢复文件时,RMAN会检查数据库数据文件的文件头。如果该文件不需要恢复,RMAN将不会恢复。此功能允许重新启动恢复操作。

BMR是什么?

Oracle9i为恢复过程引入了块介质恢复(BMR)的概念。引进BMR有利于在块级不确定情况下进行数据库恢复,降低了数据库MTTR,并提高了数据库可用性。在本节中,我们将着眼于BMR的详细信息,以及如何执行BMR

假设你收到如下Oracle错误信息:

ORA-01578: ORACLE data block corrupted (file # 19, block # 44)

ORA-01110: data file 19: ‘d:\oracle\oradata\data\mydb_maintbs_01.dbf’

通常情况下,这意味着数据文件19号很可能需要从上次备份中恢复。这意味着,数据文件19包含的所有对象在恢复期间都不可用。

大多数情况下,对于RMANOracle9i,采用BMR,你可以从数据库备份恢复损坏的数据块。有了BMR,您可以从RMAN备份还原个别数据块,并将这些块恢复到故障点。在块恢复过程中,Oracle将继续允许访问所有没有被损坏的块 

注:BMR仅适用于完全恢复。不完全恢复会使得数据库处于不一致的状态。

执行 BMR 恢复

要执行BMR恢复,使用RMAN命令BLOCKRECOVER。你可以选择使用数据文件关键字来恢复特定的数据文件和块,或者如果知道数据块地址(DBA),可以使用表空间关键词在表空间级进行恢复。这里有三个数据块恢复的例子:

BLOCKRECOVER DATAFILE 19 BLOCK 44;

BLOCKRECOVER DATAFILE 19 BLOCK 44,66,127;

BLOCKRECOVER DATAFILE 19 BLOCK 44 DATAFILE 22 BLOCK 203;

第一个例子会导致Oracle恢复数据文件19 中的块44Oracle将使用最新的备份和所需的归档redo日志将块44恢复至故障点。如果此块在上次备份时损坏,Oracle会在旧备份搜索,寻找一个未损坏的块进行恢复。恢复进行过程中,数据文件会保持在线状态,所有介质未损坏的块都可以被读取或写入到Oracle进程。

第二个例子说明了同一个表空间内多个块的恢复。最后,第三个例子中恢复不同数据文件中的多个块。

恢复RMAN备份发现的数据库损坏

由于做了RMAN备份,可以检测出块损坏。备份集损坏出现在 V$BACKUP_CORRUPTION V$COPY_CORRUPTION中。特定的块损坏信息存储在数据字典视图V $ DATABASE_BLOCK_CORRUPTION中。可能你想恢复损坏的块。对此,可以使用BLOCKRECOVER命令,添加损坏列表还原参数。如下是使用该命令的一个例子:

BLOCK RECOVER CORRUPTION LIST RESTORE UNTIL TIME ‘SYSDATE – 5’;

这种情况下,我们将恢复所有损坏块。until time关键字表明RMAN只使用新建不超过五天的备份或数据文件的副本。UNTIL TIME命令也支持SCN或日志序列号。


Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *