Block corruption due to NOLOGGING
If a NOLOGGING (or UNRECOVERABLE) operation is performed on an object and the datafile containing that object is subsequently recovered, then the data blocks affected by the NOLOGGING operation are marked as corrupt and will signal an ORA-1578
error when accessed. In Oracle 8i, an ORA-26040
is also signaled (ORA-26040: Data block was loaded using the NOLOGGING option
) which makes the cause fairly obvious, but earlier releases have no additional error message. If a block is corrupt due to recovery through a NOLOGGING operation, you need to understand that:
Recovery cannot retrieve the NOLOGGING data
No data is salvageable from inside the block
If this is your situation, please note that:
The indexes with corrupt blocks can be dropped and re-created
The corrupt tables can be dropped and built from an alternative data source
The datafile(s) impacted by the NOLOGGING operations can be refreshed from the primary or the backup which was completed after the NOLOGGING...