很多工程师都有这样的疑问,MDisk重建后还能不能恢复数据呢?应该怎么做才能恢复数据呢?本文这里就以IBM V7000存储为例,详细讲解因为某个MDisk被重建导致的数据丢失的恢复方法。我们本案例中的存储由于MDisk重建导致对应的存储池中的VDisk丢失,从而影响上层Solaris操作系统中的Oracle数据库无法正常使用。

1、前期备份方法
由于对设备的分析和恢复均不在原始设备进行操作,所以首先我们需要把所有涉及到Oracle数据库的VDisk以只读模式链接到备份服务器,使用dd或Winhex等专业工具对映射过来的VDisk做只读模式的数据库备份。然后对重建后的MDisk成员盘进行排序标记并以正常模式取出IBM V7000磁盘柜,将取出的硬盘连接到专业的设备,并做只读模式的全盘镜像。等到所有备份完成以后再对所有链路及物理硬盘进行还原,后期分析和恢复均不在原始设备上操作。

2、MDisk及VDisk恢复方法
  A、对备份的MDisk成员盘做只读模式的数据分析,判断是否会因MDisk重建导致数据大量丢失。
  B、分析重建后RAID6的数据分布规则,并计算出RAID6的双校验均写到硬盘的具体位置。
  C、对RAID6双校验破坏的数据区域结合RAID10的数据分布规则,尽最大可能的还原重建前的MDisk。
  D、对恢复的MDisk做底层卷分析,取出精简模式的数据MAP,并校验数据MAP是否正常。
  E、根据精简模式的算法结合数据MAP,尽最大可能的还原VDisk。
  F、检测恢复的VDisk是否正常,否则重新分析A-E的步骤是否有无误。

3、数据库文件恢复及数据库文件修复
  A. 对恢复的VDisk及其他未损坏的VDisk做Oracle数据库页特征扫描,并生成相应的数据库文件的特征集。
  B. 根据数据库的特征集分析出数据库在所有VDisk中的数据分布MAP。
  C. 恢复数据库文件,并使用自主开发的Oracle数据库检测工具对恢复的数据库文件做文件一致性检测。
  D. 如数据库文件检测正常、数据库结构完整,则尝试启动数据库实例,同时监控状态。
  E. MOUNT数据库,查看数据库文件状态信息,查看数据库整体状态。尝试OPEN数据库,做实例恢复。
  F. 验证导出数据是否正确,否则重复A-E操作,之到数据正确为止。

4、MDisk重建数据恢复成功率预估
由于IBM V7000存储中某个MDisk被重建了,导致上层VDisk及Oracle数据库无法正常使用。如果MDisk重建后的类型为RAID6(之前为RAID10),就会导致部分数据破坏。按最差情况分析,会有2块盘(RAID6的双校验)的数据损坏(事实上,也不会完全损坏),从损坏VDisk层面,数据完整度超过75%。而上层Oracle又由多个VDisk组成,因此上层Oracle层面,数据完整度超过95%。

v7000数据恢复_MDisk重建数据恢复方法(北亚数据恢复)的更多相关文章

  1. 服务器磁盘阵列数据恢复,raid5两块硬盘掉线数据恢复方法

    [用户单位信息] 农业科学研究院某研究所 [磁盘阵列故障发生过程描述]客户的DELL MD1000服务器内置15块1TB硬盘搭建为RAID5磁盘阵列阵列,服务器在正常工作中有一块硬盘离线,管理员对磁盘 ...

  2. HP DL380服务器RAID信息丢失数据恢复方法和数据恢复过程分享

    [数据恢复故障描述]    客户服务器属于HP品牌DL380系列,存储是由6块73GB SAS硬盘组成的RAID5,操作系统是WINDOWS 2003 SERVER,主要作为企业部门内部的文件服务器来 ...

  3. V7000数据恢复(存储文件系统损坏)案例_北亚数据恢复

    我们今天介绍的数据恢复案例是一起 v7000存储文件系统损坏导致的数据丢失,首先简单介绍一下设备基本情况:发生文件系统损坏的是一台挂载在Windows2003服务器上的v7000存储,划分了一个容量为 ...

  4. Xen Server虚拟机数据恢复的方法和数据恢复过程

    在服务器运行过程中如果出现意外情况突然断电很容易引起服务器故障,服务器中的硬件设备损坏可以修复或者购买,但是服务器中的数据一旦发生故障丢失,对于企业来说将是不可估量的损失.那么服务器数据一旦丢失就除了 ...

  5. python解释NTFS runlist的代码(文章转自北亚数据恢复张宇工程师)

    代码如下: 执行效果如下:root@zhangyu-VirtualBox:~/NTFS-5# python3 read_runlist.py mft_source.img ***参数数量或格式错误! ...

  6. Android——旋转屏幕导致Activity重建解决方法

    Android开发文档上专门有一小节解释这个问题.简单来说,Activity是负责与用户交互的最主要机制,任何“设置”(Configuration)的改变都可能对Activity的界面造成影响,这时系 ...

  7. Android开发 旋转屏幕导致Activity重建解决方法(转)

     文章来源:http://www.jb51.net/article/31833.htm Android开发文档上专门有一小节解释这个问题.简单来说,Activity是负责与用户交互的最主要机制,任何“ ...

  8. Oracle 11g EM删除重建的方法

    虚拟机里的Oracle 11g好长时间没用了,突然打开之后发现EM无法访问了,EM可以重建,于是也不打算查找原因了,直接使大招 OS:Windows Server 2012 Oracle:11g R2 ...

  9. IBM x3850 RAID5数据恢复过程

    [raid数据恢复故障描述]    需要进行数据恢复的是北京一家公司的IBM X3850服务器,服务器挂载了5块73G SAS硬盘组成raid5磁盘阵列,4号盘为热备盘(Hot-Spare),由于未知 ...

随机推荐

  1. HAproxy负载均衡

    HAproxy 简介 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案. HAProxy特别适用于那些负载特大的web站点,这 ...

  2. 【Spring源码分析】非懒加载的单例Bean初始化前后的一些操作

    前言 之前两篇文章[Spring源码分析]非懒加载的单例Bean初始化过程(上篇)和[Spring源码分析]非懒加载的单例Bean初始化过程(下篇)比较详细地分析了非懒加载的单例Bean的初始化过程, ...

  3. 9.C++-对象的构造函数(详解)

    大家都定义struct或class时,不能给成员直接赋值,那么对象中成员变量的初始值是多少? 对于局部对象变量而言,其成员是个随机值,因为该变量是被分配在栈上,对于其它局部变量也是这样. 对于全局对象 ...

  4. Angular:Reactive Form的使用方法和自定义验证器

    本文将介绍Angular(Angular2+)中Reactive Form的有关内容,包括: Reactive Form创建方法 如何使用验证 自定义验证器 下面开始进入正文! Reactive Fo ...

  5. 【python学习笔记】9.魔法方法、属性和迭代器

    [python学习笔记]9.魔法方法.属性和迭代器 魔法方法:xx, 收尾各有两个下划线的方法 __init__(self): 构造方法,创建对象时候自动执行,可以为其增加参数, 父类构造方法不会被自 ...

  6. jq事件

    1,ready:当DOM载入就绪可以查询及操纵时绑定一个要执行的函数,在使用之前必须确保body元素的onload事件,,没有注册函数,否则不会触发ready函数. $(document).ready ...

  7. Redis分布式锁的正确实现方式

    前言 分布式锁一般有三种实现方式:1. 数据库乐观锁:2. 基于Redis的分布式锁:3. 基于ZooKeeper的分布式锁.本篇博客将介绍第二种方式,基于Redis实现分布式锁.虽然网上已经有各种介 ...

  8. Tomcat5.5.9+JSP经典配置实例

    一.开发环境配置 第一步:下载j2sdk和tomcat:到sun官方站(http://java.sun.com/j2se/1.5.0/download.jsp)下载j2sdk,注意下载版本为Windo ...

  9. AvalonJS前端开发源码

    avBody = avalon.define("avBody", function (vm) { vm.Address = "";//地址 vm.BrandMo ...

  10. 15分钟理解HTTPS——通俗篇

    | 导语 它很深奥吗?你肯定常常见过它,使用它,甚至离不开它... 它很浅显吗?你可能觉得看透它,理解它,甚至懂它... 让我们用15分钟,不那么学术地将它的深挖到底~ 什么?如何证明我是我?本文要上 ...