故障:
设备断电重启,oracle数据库报错,数据库没有备份,管理员联系北亚数据恢复中心进行数据恢复。
oracle数据库恢复过程:
1、经北亚数据恢复工程师检查数据文件后,文件完整度见下图。
我们分析上图数据可以得知,用户的数据库SYSAUX01.DBF存在大量的坏块,其他位置文件是完整的。
2 在北亚数据恢复服务器上挂起数据库并修复。
在北亚数据恢复服务器上搭建了和这个oracle数据库的生产环境一样的环境,将oracle数据库挂起。挂起数据库依然出现了管理员反馈的报错(ORA-01110错误)。
北亚数据恢复工程师推断,该数据库的控制文件由于意外断电已经被修改,要恢复整个数据库的数据,必须先修复oracle数据库的控制文件。
3、北亚数据恢复工程师查询oracle数据库的归档日志,发现归档日志不连续,可供数据恢复使用的数据库归档日期丢失,北亚数据恢复工程师使用cancel参数进行不完全恢复。见下图所示。
4、再次执行alter database open 命令,将数据库打开。查询数据库实例状态,数据库报错内容发生改变,报错内容为:ora_00600错误。
5、北亚数据恢复工程师查询oracle数据库警告日志,追踪查询数据库内部错误情况,部分日志内容为:
ORA-00600: internal error code, arguments: [13013], [5001], [267], [8456009], [5], [8456009], [17], [], [], [], [], []
Non-fatal internal error happenned while SMON was doing logging scn->time mapping.
6、使用北亚数据恢复中心自主研发的DBF解析工具,获取数据,获取数据结果可见下图:
7、创建数据库,在数据库中创建用户,为用户分配表空间,解锁用户并授权。然后,通过数据搭桥的方式,将解析到的用户对象迁移到数据库中。
8、使用exp或者expdp导出zxfg用户下的所有对象,本例采用exp导出数据,其命令如下:
exp system/abc file=C:\test\dump\zxfg.dmp log=C:\test\dump\zxfg.log owner=zxfg
9、查询导出的数据库dmp文件及日志,确认oracle数据库数据恢复完整、正确。由管理员亲自对恢复成功的数据库数据进行验证,经验证确认数据恢复完整,本次数据恢复成功。