1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

案例分享:ora-01578分析过程

案例分享:ora-01578分析过程

本文作者为IT那活儿公众号小编小本本。

案例分享:ora-01578分析过程

一种现象是接到应用反馈某张业务表无法进行查询,报ORA-01578有坏块出现。

分析过程

2.1 该表为普通表,可以通过analyze命令快速分析是表有问题还是索引有问题,可以确定表有坏块。

2.2 视图查询,显示有3个坏块(可能不准确),通过文件号和块号查询出坏块都指向了这张表。目前看只有这张表有问题。CORRUPTION_CHANGE#列0表示物理坏块,非0表示逻辑坏块。该库没有未接入备份,blockrecover用不了,也就是说正常手段无法修复。但可以通过expdp工具或者dbms_repair包等其它手段来抢救该表上正常块上的数据。

2.3 这套库有adg,在adg上可正常查询,比较幸运的是这张当前无数据,无数据丢失风险。

处理方法

因为不需要做数据恢复,DB侧最终给的建议是换表,便于后续写入读取数据。另外因为有坏块出现,后面通过dbv对全库数据文件进行检测。

对于这种大量的坏块,初步怀疑可能是存储有问题,但主机侧反馈底层存储都正常,问题到这里就比较无解了,但好在有套adg环境,容灾库上未发现有坏块,后期考虑切到容灾库。另外业务侧除了反馈这张表有问题外,其它表再也没反馈。只能说运气较好,可能坏块不是出在热表上。

总结, 当出现坏块时,DBV可以快速的且不影响业务的情况下统计出全库有多少坏块。如果只有个别几个块,我们可以尝试修复或者抢救出非坏块上的数据。但如果是大量的出现坏块,且影响业务,这可能就是灾难的故障。最后要说的是,对于DBA来说,备份重于一切。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6593.html