Oracle databases allow some operations to be performed in NOLOGGING mode, where changes made by the operation will not be recorded in the Oracle archive logs. As noted in Oracle's documentation, this has significant implications for recoverability of the database, regardless of whether this recovery is being performed by Delphix or as part of disaster recovery.
If a NOLOGGING operation occurs during or after a dSource Snapshot operation, using the Delphix Engine to provision a virtual database (VDB) from this Snapshot may result in:
- Missing data
- Missing database objects
- Logical corruption errors reported during provisioning (ORA-01578 and ORA-26040)
More information on the implications of NOLOGGING operations for Delphix are available in NOLOGGING Operations - Frequently Asked Questions.
In Architecture Best Practices for Source DB and OS Settings, Delphix strongly encourages the use of the
FORCE LOGGING database option on any Source databases, to ensure that all database activity is written to the Oracle archive logs and to minimise the risk of provisioning failures.
By default, the Delphix Engine will automatically identify if a NOLOGGING operations has occurred in a Source Database, and raise an alert with the title "NOLOGGING operation occurred after the last snapshot":
In order to safely provision from the dSource, you may:
- Provision from another Snapshot for which this error is not reported; or
- Take a new Snapshot, ensuring that NOLOGGING operations are not performed while the snapshot is occurring
To take a new Snapshot of the dSource, open the dSource card and select the camera icon.
To prevent this error from occurring again:
Option 1 (Recommended):
Enable FORCE LOGGING in your Source database, which forces the database to log changes even for NOLOGGING operations
Discontinue NOLOGGING operations on Source database, or ensure that SnapSync operations are scheduled to occur when these operations are not being performed
If the above options are not feasible, you can turn off the "Diagnose Nologging" option for the applicable dSource to avoid future faults. However, please note that this only hides the faults and does not reduce the risks of provisioning from affected snapshots.
To disable 'Diagnose NOLOGGING':
- Open the object card (in 5.0.x and older use the to open the card, in 5.1 and later simply click on the object and go to 'Configuration > Standard')
- Toggle the Diagnose Nologging slider to 'Off'