Resolving ORA-26040 Data Block Was Loaded Using the NOLOGGING Option

Problem Description

 If you get the ORA-26040 error in standby due to some operations, like taking a export dump 

ORA-31693: Table data object "GENTRACK"."EMS_STATISTICS" failed to load/unload and is being skipped due to error:ORA-29913: error in executing ODCIEXTTABLEPOPULATE callout
ORA-01578: ORACLE data block corrupted (file # 14, block # 588176)
ORA-01110: data file 14: '/export/u01/oradata/genprod/users11.dbf'
ORA-26040: Data block was loaded using the NOLOGGING option
ORA-02063: preceding 3 lines from GENSNAP
  1. What is the best option to take to fix this immediate problem?

  2. Are there some preventative measures that I can take in the future to prevent this problem happening again?


What we assume has happened here is that NOLOGGING operations have been performed on your primary database, and these have have flowed through to the standby itself. The core issue here is not to do with expdp or the operation performed in standby but is due to NOLOGGING operations on the primary.

Our recommendation, in response to the  second question, is to force logging at the database level so that this does not occur again. You can find more on this here:

On the first question, if you are using Dbvisit standby is 6.0.36 or greater then you can run the Synchronise Standby Database function to resolve this issue. This function invokes the RMAN incremental refresh behind the scenes to bring the standby database up to date with the primary, at the bit level, outside of the archive log mechanism. You can find instructions on how to run this here: (Version 7.0) (Version 8.0)

If you are running an earlier version then you could also look to do this operation manually:

Mike Donovan May 29, 2014 11:59

Have more questions? Submit a request