一、数据库故障描述
今天给大家分享一个Oracle数据库故障数据恢复案例,数据库故障表现为ASM磁盘组掉线,ASM实例不能mount。数据库管理员自己尝试进行简单的数据库修复后没有成功,于是联系到北京当地的数据恢复公司进行数据库的数据恢复操作。
二、数据库故障分析方法
数据库数据恢复工程师首先对底层的磁盘进行分析,通过分析组成ASM磁盘组的磁盘将ASM元数据提取出来进行进一步的分析。通过数据库工程师进一步分析发现ASM存储元数据已经被损坏,因此导致diskgroup无法mount。数据库数据恢复工程师接下来对ASM存储空间进行重组后把ASM磁盘组里面的数据库文件进行导出,并对导出的数据库文件进行检测和恢复。在这一步中如果通过检测发现数据文件是完整的,那么下一步数据恢复工作中可以直接利用数据库文件启动数据库即可,如果数据库文件也被损坏,那么需要对这些底层的数据库文件解析然后恢复。
三、数据库数据恢复过程
1 首先按照上述方法对底层数据进行分析和提取,得到来了ASM元数据,利用ASM源数据重组出ASM存储空间。
2 得到ASM存储空间后下一步数据恢复需要使用到一款北亚ASM解析工具进行ASM结构解析,也可以使用其他常见的ASM解析工作或自编解析脚本完成,最终目的是获得ASM中数据文件
3 下面是对提取出的数据库文件进行检测,检测结果如下图:
4 根据上述方法我们借助一款自编的oracle数据库解析工具解析所有数据文件中的数据记录,然后按用户导入到新的数据库中,如下图所示:
四、Oracle数据库数据恢复成功
通过对ASM存储空间的重组,ASM磁盘的底层解析将恢复出的数据库文件导出后再对这些数据库文件进行一步底层解析。按用户将数据导入到新的数据库中,数据库数据恢复工程师通过抽查数据表方式对恢复成功的数据进行验证没有异常,然后通知客户进行完全验证数据,数据恢复结果完整,本次Oracle数据库数据恢复成功。