客户是河北省某市某**部门,一次存储损坏,造成数据全部丢失,存储上主要数据是三个oracle11.2.0.2数据库,上面运行全市的一套公共管理系统。
物理架构:
服务器为曙光4U服务器,共两台。存储为曙光某型存储,其中一个盘柜上有10块光纤磁盘做的RAID5,分成三组LUN,供两台服务器使用。
逻辑架构:
服务器OS为SUSE Linux Enterprise Server 10 x64,安装Oracle11.2.0.2 数据库,两台服务器做的双节点RAC,Oracle存储方式为ASM,三个LUN组成的外部冗余方式的磁盘组。此RAC上跑有3个数据库。
存储损坏后,运维公司对存储做了一系列操作,存储控制在日志中显示被初始化,强制online磁盘已不可能,只得开始一层层抽丝剥茧。
整体过程:
1. 镜像磁盘。磁盘坏道不多,几百个坏道。
2. 重组RAID。通过 oracle 数据文件和ASM底层结构很快分析出RAID结构。
3. 再次将重组RAID后的三个LUN镜像。
4. 通过内部软件提取ASM中的数据。
5. 修改oracle环境,修复和强制拉起数据库。
6. 使用oracle的exp或 expdp 方式导出数据。
7. 重建RAC环境,将导出的数据导入。
此应用系统较庞大,函数、存储过程和触发巨多,这对“修改oracle环境,修复和强制拉起数据库” 要求较高,而且损坏的时候系统正繁忙,数据库损坏较为严重,其中修复过程困难重重,其中一个库连控制文件和 system 表空间也有损坏。北京某敏感**部门,一中标麒麟Linux平台下DB2 v9.7 数据库,因双机双写,造成存储上的一 EXT4 文件系统严重损坏,有大量的数据被覆盖。
由于单位性质敏感,加上DB2 不好进行恢复和修复,恢复价格上涨到10余W,客户方表示没问题。
开始事情是由北京一家**数据恢复公司接手,但恢复了3天,无任何实质性进展。
后由 接手。
从EXT4 文件系统层已找不到有价值的信息,只有从底层进行 DB2 数据库的容器文件的碎片收集和重组,此案例较大的一个容器文件有 22GB, 而且里面有大字段,DB2有大字段在容器底层数据页无规律可言,不过对收集和重组文件碎片影响不大,问题在于大量的数据页被覆盖,用backup方式备份的数据只在去年 11月份,当时此容器才5GB,对 DB2 的修复参考价值不大。
当然也没闲着,考虑各种 方案,写程序分解 DB2 Object 的 MAP,尝试重建MAP,以及直接底层解析....
经过3天的底层研究, 终于搞明白DB2 对象存储机制和完全的 Page 结构,写程序重建对象MAP,直接跳过坏Page, 对DB2 重要的表数据进行导出。
所幸,重要的数据都在。经客户验证,数据没什么问题。
此案例历时一星期,从存储层到Linux文件系统层再到DB2层 进行了一次完全分解,其中在DB2层研究和处理遇到瓶颈,几乎放弃,较后还是坚持下来,也总算有所回报,看来做技术还是要有颗耐得住寂寞的心。
DB2层其实也不复杂,一通百通。
目前的研究成果:就算一个DB2 数据库, SYSCATSPACE 表空间严重损坏或完全丢失和用户表空间严重损坏,坏到只有部分数据页 ,只要提供表结构,也能较大化恢复出DB2数据库的数据。JFS文件删除数据恢复,JFS/JFS2数据恢复,学正数据由上海学正数据技术有限公司()提供。
http://u170321030147.cn.b2b168.com
欢迎来到上海学正数据技术有限公司网站, 具体地址是上海市松江区上海市松江区石湖荡镇长塔路945号37号329室,联系人是邵先生。
主要经营AIX数据恢复软件、VMWARE ESX SERVER的数据恢复、Hyper-V快照数据恢复、IBM JFS2 AIX数据恢复。
单位注册资金单位注册资金。
我们的产品优等,服务优质,您将会为选择我们而感到放心,我们将会为得到您认可而感到骄傲。