云南数据恢复
云南数据恢复24小时服务热线
云南昆明数据恢复中心
服务项目
   RAID数据恢复
RAID0 、RAID1、RAID5、RAID6、RAID0+1 、RAID5+0、RAID1+0、NAS、SAN 、JBOD等的数据恢复
   硬盘数据恢复
硬盘电路板故障:电路板烧毁、击穿、断针;硬盘固件区损坏;硬盘有严重坏道;硬盘读盘慢等故障的数据恢复
   开盘数据恢复
硬盘异响、磁头老化、电机停转、内密电路击穿、盘片轻微划伤、硬盘加、二次开盘、SCIC开盘等故障的数据恢复。
 硬盘逻辑故障数据恢复
误删除、误格式化、误克隆、重装系统覆盖、分区表丢失、误分区、PQ转换分区出错、中病毒、黑客攻击等数据恢复
   数据库修复
ACCESS、FOXPRO、SQL SERVER、 ORACLE、MYSQL、DB2、NFORMIX、 SYBASE等数据库丢失的恢复
   Email邮件修复
OUTLOOK、OUTLOOK EXPRESS、 FOXMAIL、LOTUS NOTES等邮件 系统得数据恢复
   文档修复
Word、Excel、PowerPoint等OFFICE文档修复及各种格式的文件不能正常使用的数据修复
   存储介质恢复
U盘、光盘、软盘、MO、MP3、CF、SD、xD、MMC、SM、SMC、记忆棒、录音笔、磁带、微硬盘等
联系我们
  
24小时服务热线:13187870011
您现在的位置: 首页>新闻系统>相关文章>数据库文章>正文

Oracle数据库恢复:数据块损坏与恢复

  • 编辑:未知
  • 2016年09月02日
  • 来源:
人参与
恢复之前,不能对其执行任何后续读取操作。只能对标记为损坏或者未通过损坏检查的块执行块恢复。可使用 RMAN RECOVER...BLOCK 命令执行块介质恢复。默认情况下,RMAN 会在闪回日志中搜索好的块副本,然后在完全备份或 0 级增量备份中搜索块。如果 RMAN 找到了好的副本,则会还原这些副本,并对块执行介质恢复。块介质恢复只能将重做日志用于介质恢复,不能使用增量备份。

V$DATABASE_BLOCK_CORRUPTION 视图显示由数据库组件(如 RMAN 命令、ANALYZE、dbv、SQL 查询等)标记为损坏的块。对于以下类型的损坏此视图会增加相应的行:

--物理/介质损坏:数据库无法识别块:校验和无效、块内容全部为零或者块头不完整。默认情况下,物理损坏检查处于启用状态。

--逻辑损坏:块的校验和有效,块头和块尾也匹配,但是内容不一致。块介质恢复不能修复逻辑块损坏。默认情况下,逻辑损坏检查处于禁用状态。通过指定 BACKUP、RESTORE、RECOVER 和 VALIDATE 命令的 CHECK LOGICAL 选项,可以启用逻辑损坏检查。

块介质恢复:

--降低平均恢复时间 (MTTR)

--提高介质恢复期间的可用性

--恢复期间数据文件保持联机状态

--只有正在恢复的块是不可访问的

--使用 RMAN RECOVER...BLOCK 命令调用

--使用闪回日志以及完全备份或 0 级备份还原块

--使用重做日志执行介质恢复

--V$DATABASE_BLOCK_CORRUPTION 视图显示标记为损坏的块

6.块介质恢复的先决条件

--目标数据库必须处于 ARCHIVELOG 模式

--包含损坏块的数据文件的备份必须是完全备份或 0 级备份。

--要使用代理副本,必须先将它们还原到非默认位置
--RMAN 只能使用归档的重做日志进行恢复

--要使用闪回日志,必须启用闪回数据库

以下先决条件适用于 RECOVER ... BLOCK 命令:


--目标数据库必须以 ARCHIVELOG 模式运行,并且必须是打开的,或是使用当前控制文件装载的。

--包含损坏块的数据文件备份必须是完全备份或 0 级备份,不能是代理副本。如果只存在代理副本备份,则可将它们还原到磁盘上的非默认位置;在这种情况下,RMAN 会认为它们是数据文件副本,在块介质恢复过程中会在其中搜索块。

--RMAN 只能使用归档的重做日志进行恢复。RMAN 不能使用 1 级增量备份。块介质恢复不能恢复丢失或无法访问的归档重做日志,但有时可以恢复丢失的重做记录。

--必须在目标数据库上启用闪回数据库,这样 RMAN 才能在闪回日志中搜索损坏块的好副本。如果启用了闪回事件记录,并且此事件记录包含损坏块的较旧但未损坏的版本,则 RMAN 可以使用这些块,因而可能会提高恢复的速度。

7.RECOVER...BLOCK 命令

--确定包含要进行恢复的块的备份

--读取备份并将请求的块累积到内存缓冲区

--必要时,通过从备份中读取归档日志来管理块介质恢复会话

RECOVER DATAFILE 6 BLOCK 3; Recover a single block

RECOVER Recover multiple blocks

DATAFILE 2 BLOCK 43 in multiple data files

DATAFILE 2 BLOCK 79

DATAFILE 6 BLOCK 183;

RECOVER CORRUPTION LIST; Recover all blocks logged in V$DATABASE_BLOCK_CORRUPTION

恢复单个块:

在进行块恢复之前,必须确定损坏的块。一般情况下,会在以下位置中报告块损坏:

--LIST FAILURE、VALIDATE 或 BACKUP ...VALIDATE 命令的结果
--V$DATABASE_BLOCK_CORRUPTION 视图

--标准输出中的错误消息

--预警日志文件和用户跟踪文件(在 V$DIAG_INFO 视图中标识)
--SQL ANALYZE TABLE 和 ANALYZE INDEX 命令的结果
--DBVERIFY 实用程序的结果

例如,可能会在用户跟踪文件中发现以下消息:

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

ORA-01110: data file 7: '/oracle/oradata/orcl/tools01.dbf'

ORA-0157

|<< << < 1 2 3 > >> >>|

 版权所有:Copyright @ 2011-2012 All rights reserved 滇ICP备16006347号 昆明北亚科技有限公司
 商务部地址:昆明市五华区圆通北路127号佰腾数码广场B座(云大晟苑)14楼1411室
  研发部地址:云南大学鼎鑫公寓3栋2层B-2室
       联系电话:0871-65732192,13187870011
    Email:117361778@qq.com
传真:0871-65732192