intohard 发表于 2014-12-20 09:08:38

AIX小型机数据恢复及Oracle数据修复过程 一例

南方某省某市某政府部门一台IBM DS存储,5块300GB光纤磁盘做了RAID5,一块磁盘做了全局热备,因为3块磁盘离线造成RAID崩溃。
DS存储上划分了2个LUN,一个300GB,一个400GB,全部给一台AIX 5.3系统的P550A小型机使用。
两个LUN上分别有两个 Oracle 10.2.0.4 数据库,为该部门的核心数据。

3块磁盘有两块磁盘的盘片严重划伤,不可修复。一块磁盘少量坏道,数据较完整。
查看DS存储日志,发现严重划伤的磁盘都早已离线,数据本就不可用。
只需有坏道的磁盘就可以了。运气一向很好。

在Windows系统下通过光纤存储柜把剩下的4块磁盘进行镜像,镜像完成后分析DS存储RAID组织参数,虚拟重组RAID,把两个LUN镜像成文件。
后通过 iSCSI 方式把镜像文件挂载到 VMxDB.com 内部的数据恢复的AIX小型机上,然后 mount 文件系统,一却正常:



经检查文件数据完整。开始在 VMxDB.com 内部的IAIX小型机上挂载客户的 Oracle 数据库:
挂载 第一个数据库:





第一个数据库一却正常,做个导出也一却正常:



开始挂载第二个数据库:

oracle 报错,过不了 mount ,想都不用想这是 oracle的控制文件损坏。
试过另两个控制文件,都不行 。
只得收集数据文件和联机日志文件信息,开始重建控制文件。
收集的信息发现,有个数据文件不在这个损坏的存储上,在另外的位置存储,联系客户,客户找到另一个数据文件 。

拿到另一个数据文件后,开始重控制文件:


创建控制文件失败, 客户找到那一个数据文件有问题,检查发现 这个数据文件的 Resetlogs SCN 远高于其它数据文件。
用WinHex 修改和 system01.dbf 这个数据文件的 Resetlogs SCN 一致,然后修正oracle的块校验,重新重建控制文件:



控制文件创建成功,尝试把库 open:


报需要介质恢复,加入隐含参数,再次 open 数据库:




终于看到熟悉的 ORA-600 错误了,重建 undo ,   数据库一却正常:






进行导出,也一却正常:


耗时一天,数据恢复成功。

VMxDB.com 的全系统(Win、Linux、AIX、HP-UX、 Solaris)Oracle(9i、10g、11g) 环境已搭建完成 ,全系统的DB2和 Sybase ASE 环境正在搭建中,对于数据恢复行业的人员测试和验证数据库完全免费。

(小尹)

英胜数据恢复 发表于 2014-12-20 09:21:35

牛XXXX

yjclane 发表于 2014-12-20 11:21:43

本帖最后由 yjclane 于 2014-12-20 11:23 编辑

运气一向很好,技术一向牛X,就可以这么任性

yinzhixong 发表于 2014-12-20 12:59:50

看一下学习一下

小程子 发表于 2014-12-20 14:35:14

尹兄总是这么牛X,你为毛这么叼

华维小魏 发表于 2014-12-21 01:17:49

尹老板就是偶像

i1988 发表于 2014-12-21 10:24:20

楼主集专业+敬业于一身,佩服!

瞬间与永恒 发表于 2014-12-22 09:09:30

太牛了啊!

heang567 发表于 2023-12-28 10:13:15

支持一下楼主
页: [1]
查看完整版本: AIX小型机数据恢复及Oracle数据修复过程 一例