如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!
诗檀软件专业数据库修复团队
服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com
重新启动的恢复
重新启动的恢复允许重新启动出错的恢复。
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包含的所有对象在恢复期间都不可用。
大多数情况下,对于RMAN和Oracle9i,采用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 中的块44。Oracle将使用最新的备份和所需的归档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或日志序列号。
Comment