oracle 数据块损坏 Oracle 数据块损坏与恢复详解

本文详述了Oracle块级别介质恢复的概念和优势,它允许DBA仅恢复损坏的数据文件块,显著减少了恢复时间。RMAN的BLOCKRECOVER命令支持此功能,允许指定备份来源并限制恢复范围。在Oracle 11.2版本中,RMAN提供了更高级的块恢复语法。然而,块级别恢复不适用于数据文件头的恢复。
摘要由CSDN通过智能技术生成

本文主要对RMAN块级别介质恢复进行解释并举例,以帮助大家理解相应概念并灵活使用

块级别介质恢复(Block-Level Media Recovery)

注意: 此恢复无法对数据文件块头(第一个块)进行恢复。

  • 块级别介质恢复对于仅需要介质恢复很小部分数据文件块的场景来说非常好用。
  • 在Oracle 9i之前,如果单个块需要进行恢复的话,DBA需要将整个数据文件恢复出来并应用所有之后的redo记录。
  • 块级别介质恢复极大降低了从备份恢复块的时间,仅需针对坏块部分进行备份恢复和redo应用即可。
  • 在进行数据块介质恢复的过程中,由于是坏块,所以对查询和DML来说这些块是无法访问的,不过数据文件仍能保持online状态。不过,相比文件级别恢复来说这已经极大地提升了可用性。仅是正被修复的块对用户不可见而已,恢复完成后即可访问了。

RMAN命令接口

  • RMAN通过BLOCKRECOVER命令支持BMR恢复
BLOCKRECOVER bmr_block_specifier_list bmr_option_list;
bmr_block_specifier_list: bmr_block_specifier |
bmr_block_specifier_list bmr_block_specifier
bmr_block_specifier: DATAFILE datafile_specifier BLOCK block_list |
TABLESPACE tablespace_specifier DBA dba_list
CORRUPTION LIST
datafile_specifier: text_string | integer
block_list: integer |
block_list , integer
tablespace_specifier: text_string
dba_list: integer |
dba_list , integer
bmr_option_list: bmr_option |
bmr_option_list | bmr_option
bmr_option: from backupset |
from datafilecopy |
from tag text_string |
restore until time_clause |
nofileupdate |
save final blocks |
save all blocks
time_clause: TIME date_string |
SCN integer |
LOGSEQ integer THREAD integer

命令块恢复可以指定从哪个备份中进行恢复。如果用户在之前从没用过RMAN,而他们仅有的备份是直接用的镜像copy备份。
那么他们应该使用catalog datafilecopy命令先将这些文件注册到RMAN中,然后再使用blockrecover命令。 
而catalog archivelog命令也同样需要在指定并注册归档日志时使用。
在用户之前并未用过RMAN的情况下,这些步骤是非常有必要的。

% rman target /
RMAN> catalog datafilecopy '<name>';
      catalog archivelog '<name>';
See also :

相关可查文档可参考
Note 342972.1 HOW TO PERFORM BLOCK MEDIA RECOVERY (BMR) WHEN BACKUPS ARE NOT TAKEN BY RMAN

如果用户的备份或归档日志需要从磁带上进行恢复,那么就需要在进行blockrecover命令前分配好管道(channel)。
对于BMR需要的归档日志可以并行在多个管道上运行,不过所有运行的数据文件/备份集扫描和恢复会话都必须运行在同一个系统会话上。

为了可以在块修复时对备份源做选择,blockrecover在命令中支持以下命令项:

  • FROM BACKUPSET -- 从备份集中恢复块
  • FROM DATAFILECOPY -- 仅从数据文件拷贝中恢复块
  • FROM TAG -- 从打了标签的备份中恢复块 
  • RESTORE UNTIL TIME|SCN|LOGSEQ -- 限定找在某个时间点之前的备份

 

从Oracle 9.0.1开始,就有V$DA

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值