症状

  1. Rman 备份失败,显示 ORA-19566 错误,且被报告的坏块不属于任何对象
  2. Dbverify 显示存在坏块
  3. 坏块不属于任何对象

原因

在重新使用和重新格式化坏块之前,RMAN 和 DBV 仍会一直报告坏块。

解决方案

免责声明:本说明中给出的步骤并不总是保证问题解决。

解决此类问题的一个可能的方法如下。请注意,它不能保证问题解决,但它已知解决了几种案例的问题。如果在某个数据文件中报告有很多块损坏,请在第六步提示输入 blocknumber 中输入已经报告的最高的坏块号码。

当一个对象被重新创建,已经分配给它(甚至是损坏的块)的块将变成空闲空间(free space)。他们在那里等待重新分配到一个需要额外空间的对象。一旦它们被重新分配到用于一个对象上新的extent,只有当任何DML操作使用到这些 块(即使损坏的块,处在空闲空间,现在需要被分配),他们将在DML操作更改、使用这些块之前,被重新格式化掉。

需要注意的是extent的简单的分配不格式化块。第7步分配的extent和第8步执行DML操作,使用在第七步中分配的块,这样的坏块才被重用和格式化。

在本文档中,我们尝试手动重新格式化坏块。

来源;https://www.modb.pro/db/89546

最后修改:2022 年 04 月 04 日
如果觉得我的文章对你有用,请随意赞赏