合 如何格式化不属于任何段的损坏块 (Doc ID 1526163.1)
适用于:
Oracle Database - Enterprise Edition - 版本 8.1.7.4 到 11.2.0.1.0 [发行版 8.1.7 到 11.2]
Oracle Database Cloud Schema Service - 版本 N/A 和更高版本
Gen 1 Exadata Cloud at Customer (Oracle Exadata Database Cloud Machine) - 版本 N/A 和更高版本
Oracle Cloud Infrastructure - Database Service - 版本 N/A 和更高版本
Oracle Database Cloud Exadata Service - 版本 N/A 和更高版本
本文档所含信息适用于所有平台
症状
- Rman 备份失败,显示 ORA-19566 错误,且被报告的坏块不属于任何对象
- Dbverify 显示存在坏块
- 坏块不属于任何对象
原因
在重新使用和重新格式化坏块之前,RMAN 和 DBV 仍会一直报告坏块。
解决方案
免责声明:本说明中给出的步骤并不总是保证问题解决。
解决此类问题的一个可能的方法如下。请注意,它不能保证问题解决,但它已知解决了几种案例的问题。如果在某个数据文件中报告有很多块损坏,请在第六步提示输入 blocknumber 中输入已经报告的最高的坏块号码。
当一个对象被重新创建,已经分配给它(甚至是损坏的块)的块将变成空闲空间(free space)。他们在那里等待重新分配到一个需要额外空间的对象。一旦它们被重新分配到用于一个对象上新的extent,只有当任何DML操作使用到这些块(即使损坏的块,处在空闲空间,现在需要被分配),他们将在DML操作更改、使用这些块之前,被重新格式化掉。
需要注意的是extent的简单的分配不格式化块。第7步分配的extent和第8步执行DML操作,使用在第七步中分配的块,这样的坏块才被重用和格式化。
在本文档中,我们尝试手动重新格式化坏块。
第 1 步 - 确定损坏的数据文件
损坏可以被报告在应用层,如DBV和RMAN,或alert.log。
例如,您可以在您的RMAN备份过程中获得以下信息:
1 2 | RMAN-03009: failure of backup command on nm4501 channel at 04/29/2005 09:44:41 ORA-19566: exceeded limit of 0 corrupt blocks for file E:\xxxx\test.ORA. |
坏块位于文件 E:\xxxx\test.ORA 中。
第 2 步 - 在受影响的数据文件上运行 DBV/Rman 验证并检查坏块
在报告坏块的数据文件上运行 dbverify。
1 | dbv userid={system/password} file={full path filename} logfile={output filename} |
检查{输出文件名}结果
示例输出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | DBVERIFY: Release 9.2.0.3.0 - Production on Thu Aug 25 11:15:54 2005 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. DBVERIFY - Verification starting : FILE = E:\xxxx\test.ORA Page 48740 is marked corrupt *** Corrupt block relative dba: 0x01c0be64 (file 7, block 48740) Bad check value found during dbv: Data in bad block - type: 0 format: 2 rdba: 0x0000be64 last change scn: 0x0000.00000000 seq: 0x1 flg: 0x05 consistency value in tail: 0x00000001 check value in block header: 0xb964, computed block checksum: 0x2a5a spare1: 0x0, spare2: 0x0, spare3: 0x0 *** DBVERIFY - Verification complete Total Pages Examined : 64000 Total Pages Processed (Data) : 0 Total Pages Failing (Data) : 0 Total Pages Processed (Index): 1751 Total Pages Failing (Index): 0 Total Pages Processed (Other): 45 Total Pages Processed (Seg) : 0 Total Pages Failing (Seg) : 0 Total Pages Empty : 62203 Total Pages Marked Corrupt : 1 |
请注意,在数据文件 7 中,报告 块 48740 损坏。
或者 在RMAN中
对于整个数据库