oracle数据库恢复环境&故障:
一台Windows server操作系统的服务器上部署Oracle数据库。
服务器意外断电导致oracle数据库报错,报错信息:“system01.dbf需要更多的恢复来保持一致性”。由于该oracle数据库并没有备份,仅有一些断断续续的归档日志,无法通过备份文件恢复oracle数据库的数据。管理员联系北亚企安数据恢复中心要求修复Oracle数据库。
oracle数据库数据恢复流程:
1、检测数据库故障情况;
2、尝试挂起并修复数据库;
3、解析数据库文件;
4、导出并验证恢复的数据库文件。
oracle数据库数据恢复过程:
1、检测服务器及数据库情况。
使用dbv命令检测oracle数据库数据文件是否完整。
检测完成后发现检测的文件数据块中有40页的数据和29页的索引数据检测失败,其他文件均检测正常。
2、挂起并修复数据库。
北亚企安数据恢复工程师搭建了Windows server环境,安装了和原服务器上相同的oracle数据库环境,尝试将oracle数据库挂起来,查看数据库的报错情况。
根据oracle数据库的报错信息,北亚企安数据恢复工程师采用通过在线日志恢复数据的方法,使用recover database命令尝试修复。
经过一系列的修复操作后,发现恢复oracle数据库所需时间段的归档日志缺失,只能利用cancel参数进行不完全的数据恢复。
再次执行命令,打开数据库,查询实例状态有无报错,经过查询发现仍有部分数据报错,报错信息为“ora_00600”。
这类oracle数据库内部错误是无法通过命令修复的。借助expdp/exp工具尝试导出oracle数据库,但是使用这两个工具导出oracle数据库时依然有报错,该oracle数据库已经不可能进行修复。
3、解析数据库文件获取数据。
使用北亚企安自主研发的一款dbf解析工具获取数据库内的数据。
北亚企安工程师获取到oracle数据库数据后搭建数据库环境,创建数据库、用户、分配表空间等。将解析出来的数据库数据迁移到新数据库环境中,使用toad for oracle工具验证数据。
4、导出数据库数据并验证。
使用exp工具将oracle数据库导出,导出命令:“exp system/abc file=C:\test\dump\zxfg.dmp log=C:\test\dump\zxfg.log owner=zxfg”。本次导出正常无报错。经用户方验证,Oracle数据库完整,查询数据无异常。本次oracle数据库数据恢复工作完成。