国内xx医院使用了国外医疗行业龙头的pacs系统,由于是一个历史库,存放在分布式存储中,由于存储同时多个节点故障,导致数据库多个文件异常,数据库无法启动,三方维护人员尝试通通过rman归档进行应用日志,结果发现日志有损坏报ORA-00354 ORA-00353,无法记录恢复,希望我们给予支持
![ORA-00353](https://img-blog.csdnimg.cn/img_convert/a55bfb598141cb74218f2e78db1dfe43.png)
Mon Apr 29 13:28:40 2024 Media Recovery failed with error 354 Mon Apr 29 13:28:40 2024 Errors in file F:\XXXXXX_DB\ORACLE\ADMIN\diag\rdbms\xxx\msxxx1\trace\xxx_pr00_4568.trc: ORA-00283: recovery session canceled due to errors ORA-00354: corrupt redo log block header ORA-00353: log corruption near block 487424 change 8737273868 time 04 /01/2024 01:38:25 ORA-00334: archived log: 'F:\XXXXXX_DB\ORADATA\XXX\LOGARC0000052184_0922116268.0001' ORA-283 signalled during: alter database recover logfile 'F:\XXXXXX_DB\ORADATA\XXX\LOGARC0000052184_0922116268.0001' ... |
接手故障之后,通过尝试恢复发现除该错误之外,还有ORA-600 4552之类错误
![ORA-600-4552](https://img-blog.csdnimg.cn/img_convert/61d44240f99b84d567a0e7884040dd60.png)
跳过这些异常文件恢复,最终确认异常文件有如下部分
![20240511223413](https://img-blog.csdnimg.cn/img_convert/b46b6962cd2227d42470f2843504d535.png)
这些文件由于日志无法正常应用(有日志损坏无法应用,有日志和数据文件block不匹配导致无法应用),这样的情况直接通过自研的Oracle Recovery Tools小工具直接修改文件头信息
![orarecovery](https://img-blog.csdnimg.cn/img_convert/d3a46cd6585d9bbd6d23801511a25013.png)
然后尝试OPEN数据库结果报ORA-1207
![ORA-1207](https://img-blog.csdnimg.cn/img_convert/a4c025782493d2fdeec7aabb2d00d02b.png)
对于这个故障可以通过rectl或者using backup ctl方式处理,然后open数据库成功
![20240510224845](https://img-blog.csdnimg.cn/img_convert/25f75de03013bdd8d156785360f751f8.png)
由于该系统是历史库,不会有新业务写入,通过对异常表和索引进行处理之后,客户测试业务可以正常访问,完成本次恢复