ORA-1578 解决思路


ORA-1578错误,出现的场景不同,解决办法也不相同,以下是各种场景下的解决办法

一、    Database in ARCHIVELOG mode(归档并有备份):

使用RMAN Block Media recovery进行恢复

Mos相关文章

Note 144911.1 RMAN : Block-Level Media Recovery - Concept & Example
 
Note 342972.1 How to perform Block Media Recovery (BMR) when backups are not taken by RMAN

二、    非归档并且没有备份

1.   确定引起的segmentblock :

· Mos相关文章

NOTE 819533.1 How to identify the corrupt Object reported by ORA-1578 / RMAN / DBVERIFY

NOTE 472231.1 How to identify all the Corrupted Objects in the Database reported by RMAN

NOTE 836658.1 Identify the corruption extension using RMAN/DBV/ANALYZE etc. Main sections in Note 836658.1 to identify corrupt blocks causing ORA-1578 are:

RMAN - Identify Datafile Block Corruptions
DBVerify - Identify Datafile Block Corruptions

2.   如果是索引就重建索引

3.   删除相关的段 从其他的备份或者数据源进行恢复(exp备份等)

如果是表,可以DBMS_REPAIR跳过坏块恢复其他的数据

Note 556733.1 DBMS_REPAIR script
Note 68013.1 DBMS_REPAIR example

三、    ORA-1578 / ORA-26040 由于 NOLOGGING

如果伴随着ORA-26040错误说明 是由于NOLOGGING操作引起

· Mos参考文章

Note 794505.1 ORA-1578 / ORA-26040 Corrupt blocks by NOLOGGING - Error explanation and solution

四、    ORA-1578 由于不正确的加密 在 encrypted database

· Mos参考文章

Note 1329437.1 ORA-1578 Corrupt Block Found in Encrypted Database

 

五、    第三方软件引起

·  Mos参考文章

Note 1323649.1 Known Corruption issues caused by 3rd party Software Provider

 

请使用浏览器的分享功能分享到微信等