成功案例

一次屏障重重的Linux Oracle11g 双节点RAC数据恢复

2018-08-11 14:52:50

客户是河北省某市某政府部门,一次存储损坏,造成数据全部丢失,存储上主要数据是三个oracle11.2.0.2数据库,上面运行全市的一套公共管理系统。

物理架构:

服务器为曙光4U服务器,共两台。存储为曙光某型存储,其中一个盘柜上有10块光纤磁盘做的RAID5,分成三组LUN,供两台服务器使用。

逻辑架构:

服务器OSSUSE Linux Enterprise Server 10 x64,安装Oracle11.2.0.2 数据库,两台服务器做的双节点RACOracle存储方式为ASM,三个LUN组成的外部冗余方式的磁盘组。此RAC上跑有3个数据库。

存储损坏后,运维公司对存储做了一系列操作,存储控制在日志中显示被初始化,强制online磁盘已不可能,只得开始一层层抽丝剥茧。

整体过程:

1. 镜像磁盘。磁盘坏道不多,几百个坏道。

2. 重组RAID。通过 oracle 数据文件和ASM底层结构很快分析出RAID结构。

3. 再次将重组RAID后的三个LUN镜像。

4. 通过内部软件提取ASM中的数据。

5. 修改oracle环境,修复和强制拉起数据库。

6. 使用oracleexp expdp 方式导出数据。

7. 重建RAC环境,将导出的数据导入。

此应用系统较庞大,函数、存储过程和触发巨多,这对“修改oracle环境,修复和强制拉起数据库” 要求较高,而且损坏的时候系统正繁忙,数据库损坏较为严重,其中修复过程困难重重,其中一个库连控制文件和 system 表空间也有损坏。

下面是恢复过程的部分截图:













修复完成后拉起库做导出:





沪公网安备 31010402007118号