Skip to main content
Delphix

Resolving non-Delphix level-based backup

Background

When attempting to add an Oracle dSource, it's possible to encounter the following error: "Cannot use level-based backup for database "ORCL_STNDBY" due to existing non-Delphix level-based backup."

Cause

This error is shown due to an existing active backup in the source database during linking. This will prevent the operation until all the active non-Delphix backups are resolved. Note: this only happens if the database is pre 11.2 and level based backups are requested; or if it is an Oracle 9 database previously registered with another Delphix Engine (an Oracle9 database cannot be used in two Delphix Engines simultaneously). So, if the database is pre 11.2, evaluate why are level based backups being requested. If still needed, then the dSource initialization parameter CONTROL_FILE_RECORD_KEEP_TIME should be set to a large value.

 

Resolution

Use the following SQL to find the offending entries:

select /*+ RULE */ 1
from v$backup_set bs,
     v$backup_piece bp,
     v$backup_datafile bd
where bs.incremental_level is not null
  and bd.set_stamp = bp.set_stamp
  and bd.set_count = bp.set_count
  and bs.set_stamp = bd.set_stamp 
  and bs.set_count = bd.set_count
  and bs.set_stamp = bp.set_stamp
  and bs.set_count = bp.set_count
  and bp.tag not like 'DLPX%' -- REMOVE THIS LINE FOR ORACLE 9i.
  and bp.status ='A'
  and rownum = 1;

The results returned by this query indicates the backup records which were not created by any Delphix Engine and is causing the exception.

These records can be deleted or the status can be set to 'UNAVAILABLE' using RMAN per the Oracle documentation (http://docs.oracle.com/cd/B19306_01/backup.102/b14192/maint006.htm).

Once the above query returns no results, the linking operation should no longer encounter this exception.