很多工程师都有这样的疑问,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. 《阿里巴巴Android编码规范》阅读纪要(二)

    版权声明:本文出自汪磊的博客,转载请务必注明出处. 本篇继续上一篇<阿里巴巴Android编码规范>阅读纪要(一) ,还是建议各位同学有时间完整阅读一下<阿里巴巴Android编码规 ...

  2. C++学习-11

    虚函数表,调试下断点,指针的自动变量 含有虚函数的类,它的内部含有虚指针指向虚函数表,此时的空类占有4个字节,不管有多少个虚函数,只需要一个虚函数指针指向虚函数表就可以了 构造函数不可以是虚函数,如果 ...

  3. 13.MySQL(一)

    数据库简介 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库 RDBMS 即关系数据库管理系统(Relational Database Management System) 1.特 ...

  4. 关于OPC UA Helper 命名空间中的OpcUaClient 类中的订阅函数的更改

    原函数是opcUaClient.MonitorValue("ns=4;s=MAIN.d", new Action<double, Action>(MonitorTest ...

  5. Angular -ui - BootStrap组件的解释以及使用

    关于UI BootStrap UI BootStrap 是angularUI团队用纯粹angularJS语法编写的Bootstrap组件. 1. 关于ng-router(angular-router. ...

  6. thinkphp3.2-更改控制器名后找不到相应的表?报1146的错

    用tp在做着自己的小系统的时候,明明在刚才还是能好好地查到表的,在Service用了'D'方法连自己数据库的表,只是更改了自己的控制器名,却报错了... 我就纳闷了,虽然我的控制器和Service用的 ...

  7. Redis主从集群的Sentinel配置

    http://www.cnblogs.com/LiZhiW/p/4851631.html

  8. 【Zabbix】 ZBX的豆知识

    ZBX ZBX虽然看上去是个很庞大的系统,但是相对架构还是比较简单的,而且我接触比较长时间了,很多东西觉得没有什么记的必要,所以以这种零碎的形式来记录一些小知识点. ■ ZBX用户权限问题 ZBX用户 ...

  9. centos7环境下mysql5.7的安装与配置

    最近无事闲来折腾虚拟机,以前都是折腾云服务器,现在自己捣捣.看到mysql的教程蛮好的,准备做个笔记.原文来自mysql5.7的安装与配置(centos7环境) 第一步:下载mysql [root@M ...

  10. 将 Shiro 作为应用的权限基础 三:基于注解实现的授权认证过程

    授权即访问控制,它将判断用户在应用程序中对资源是否拥有相应的访问权限. 如,判断一个用户有查看页面的权限,编辑数据的权限,拥有某一按钮的权限等等. 一.用户权限模型 为实现一个较为灵活的用户权限数据模 ...