Skip to main content
Delphix

DISABLE_FLASHBACK_ERROR Error When Attempting to Provision an Oracle VDB

Issue

Provisioning a virtual database VDB fails with:

Failed to disable flashback. 
Review the Oracle alert log for more details 
DELPHIX>$DLPX_SHELL $DB_SCRIPT_DIR/doDisableFlashback.sh $DB_SCRIPT_DIR "$LOG <IPT_DIR/doDisableFlashback.sh $DB_SCRIPT_DIR "$LOGON_STR"
END_OF_SETUP
DISABLE_FLASHBACK_ERROR

Troubleshooting

This issue only occurs when ALL of the following conditions are true:

Source is a Standby AND
Flashback is on AND
Flashback logs are managed by ASM AND
The target host has an ASM instance that our VDB can connect to AND
We can read the flashback logs referenced by the backup controlfile

Resolution

  1. Provision the VDB to a target that does not have an ASM instance
  2. Manage Flashback logs outside of ASM
  3. If the VDB target has files on ASM, use an intermediary VDB.
    a. Provision a VDB to a different target which does not have files on ASM. 
    b. Then use this VDB as the source to the original target which does use ASM.

Additional Information

The backup controlfile used during the provision process may contain flashback log entries which exactly match the entries in the source database. When flashback is disabled, Oracle will attempt to delete all flashback logs referenced by the controlfile. 

When Provisioning a Standby database, doRecovery.sh calls doDisableFlashback.sh

doDisableFlashback.sh, tests whether the flashback logs are in ASM, attempts to connect to the ASM diskgroup and then tries to access the flashback logs referenced in the backup controlfile. If Delphix has access to the flashback logs via an ASM instance on the target server, disabling flashback will delete the flashback logfiles on the source, so we must fail provisioning to prevent data loss.