很多工程师都有这样的疑问,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. 【BZOJ4569】萌萌哒(并查集,倍增)

    [BZOJ4569]萌萌哒(并查集,倍增) 题面 BZOJ 题意: 有一个长度为\(n\)的数 给定\(m\)个限制条件 每次限制\(l1-r1\)与\(l2-r2\)是相同的 求出方案数 题解 如果 ...

  2. [BZOJ1609] [Usaco2008 Feb] Eating Together麻烦的聚餐 (dp)

    Description 为了避免餐厅过分拥挤,FJ要求奶牛们分3批就餐.每天晚饭前,奶牛们都会在餐厅前排队入内,按FJ的设想所有第3批就餐的奶牛排在队尾,队伍的前端由设定为第1批就餐的奶牛占据,中间的 ...

  3. [BZOJ2733] [HNOI2012] 永无乡 (splay启发式合并)

    Description 永无乡包含 n 座岛,编号从 1 到 n,每座岛都有自己的独一无二的重要度,按照重要度可 以将这 n 座岛排名,名次用 1 到 n 来表示.某些岛之间由巨大的桥连接,通过桥可以 ...

  4. TypeScript入门知识五(面向对象特性二)

    1.泛型(generic) 参数化的类型,一般用来限制集合的内容 class Person { constructor(private name: string) { } work() { }}var ...

  5. n皇后问题与2n皇后问题

    n皇后问题 问题描述: 如何能够在 n×n 的棋盘上放置n个皇后,使得任何一个皇后都无法直接吃掉其他的皇后 (任两个皇后都不能处于同一条横行.纵行或斜线上) 结题思路: 可采用深度优先算法,将棋盘看成 ...

  6. 关于现在IT行业从业者一些建议

    本人从事IT行业,确切的说应该是软件开发行业已经9个年头了,从刚开始小白也慢慢的已经有了自己独有的开发习惯. 近些年进入行业的人越来越多,有可能确实看到了这行业就业及薪资待遇,更多的也是随着互联网及移 ...

  7. python中干掉tornado的连接失败日志

    用了tornado真的是比较舒服,很多事都为你做好了. 但也有不令人满意的地方--对于我这个洁癖来说,自动给我的控制台打印不受我控制的信息是不能忍受的. 连接到一个新的地方,如果失败,tornado会 ...

  8. canvas实现将文字变成颗粒

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  9. linux 下后台运行python脚本

    这两天要在服务器端一直运行一个Python脚本,当然就想到了在命令后面加&符号 $ python /data/python/server.py >python.log &说明:  ...

  10. python变量定义和定义规范

    变量定义的规则: 变量名只能是 字母.数字或下划线的任意组合 变量名的第一个字符不能是数字 以下关键字不能声明为变量名['and', 'as', 'assert', 'break', 'class', ...