OCI-00752
Cause
A data block write to storage has been lost during normal database operation on the primary database.
Action
Solution Option 1 - Re-create the object.
Determine if the object can be re-created in the primary database. For example, drop an index and re-create the index. Once the object has been re-created, set DB_LOST_WRITE_PROTECT = NONE in the standby database. Allow the recovery to proceed by running:
ALTER DATABASE RECOVER AUTOMATIC STANDBY DATABASE ALLOW 1 CORRUPTION;
Once the alert log indicates that the block has been marked corrupt, stop the recovery:
ALTER DATABASE RECOVER CANCEL;
Re-enable DB_LOST_WRITE_PROTECT:
ALTER SYSTEM SET DB_LOST_WRITE_PROTECT = <TYPICAL | AUTO>;
Restart recovery without the ALLOW n CORRUPTION clause.
Solution Option 2: Activate the standby database.
Shutdown the primary database and activate the physical standby database to failover. For example:
ALTER DATABASE ACTIVATE STANDBY DATABASE;
Or, if using Data Guard Broker:
DGMGRL> FAILOVER TO database-name IMMEDIATE;
See Oracle Data Guard documentation for details.
Unless directed by Oracle Support, do not attempt to bypass this error by copying blocks or data files from the primary database to the standby database because that would propagate the lost write from the primary to the standby database.