学向勤中得,萤窗万卷书。这篇文章主要讲述北亚数据恢复异常断电导致Oracle数据库报错(ORA-01110错误)且没有备份的数据恢复相关的知识,希望能为你提供帮助。
故障:
设备断电重启,oracle数据库报错,数据库没有备份,管理员联系北亚数据恢复中心进行数据恢复。
oracle数据库恢复过程:
1、经北亚数据恢复工程师检查数据文件后,文件完整度见下图。
我们分析上图数据可以得知,用户的数据库SYSAUX01.DBF存在大量的坏块,其他位置文件是完整的。
2、在北亚数据恢复服务器上挂起数据库并修复。
在北亚数据恢复服务器上搭建了和这个oracle数据库的生产环境一样的环境,将oracle数据库挂起。挂起数据库依然出现了管理员反馈的报错(ORA-01110错误)。
北亚数据恢复工程师推断,该数据库的控制文件由于意外断电已经被修改,要恢复整个数据库的数据,必须先修复oracle数据库的控制文件。
3、北亚数据恢复工程师查询oracle数据库的归档日志,发现归档日志不连续,可供数据恢复使用的数据库归档日期丢失,北亚数据恢复工程师使用cancel参数进行不完全恢复。见下图所示。
【北亚数据恢复异常断电导致Oracle数据库报错(ORA-01110错误)且没有备份的数据恢复】
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数据库数据恢复完整、正确。由管理员亲自对恢复成功的数据库数据进行验证,经验证确认数据恢复完整,本次数据恢复成功。
推荐阅读
- 鸿蒙基于开放式测试方案发布原子化服务的实战
- SpringBoot+SpringSecurity系列八(整合JWT#yyds干货盘点#)
- #yyds干货盘点#关于 Java 的可变参数你真的了解吗()
- LVS负载均衡群集与NAT模式LVS负载均衡部署
- Go 语言入门很简单 -- Go 语言转化为 JSON #私藏项目实操分享#
- #私藏项目实操分享# ABAP 调用第三方 API,遇到乱码该怎么办()
- Apache 网页与安全优化
- #yyds干货盘点#制作简易计算器
- python 全解坦克大战 辅助类 附完整代码雏形