Oracle Block Change Tracking(BCT) and the ZDLRA
One of the most commonly asked question I get when explaining how the ZDLRA works has to do with Block Change tracking.
So I'm going to start with
The question is usually something like...
"If the the Block Change Tracking file only keeps 7 days of history by default, how does it work with the ZDLRA where you only perform a full backup once"?
And the second question is"If I only perform incremental cumulative backups, how does it use the BCT if it get's recreated/invalidated ?"
So how is the BCT file used ?
First, I am assuming you understand what's in it. This is explained in my previous post
For full backups -
The BCT file is not used, but it is update prior to the backup occurs.
Since the datafiles are "fuzzy" (being updated), the next BCT record starts with with the s x
Since the datafiles are "fuzzy" (being updated), the next BCT record starts with with the s x
For Incremental Cumulative/Differential backups -
The BCT file is updated prior to the incremental cumulative
RMAN then determines starting SCN and ending SCN number to backup, and if a BCT can possibly be used.
Once it determines the starting/stopping SCN for the backup, and that the BCT is in use, it can then determine if the BCT was capturing changes for that period, and if the changes fall within BCT capturing period
Now at this point we have determined
Once it determines the starting/stopping SCN for the backup, and that the BCT is in use, it can then determine if the BCT was capturing changes for that period, and if the changes fall within BCT capturing period
Now at this point we have determined
- BCT was in use
- The backup period falls within the window that the BCT has complete, valid record for.
Now at this point, we need to determine if any changes took place, and if so, build the list of blocks to backup up.
NOTE : if using multiple backups strategies, and TAGS to identify backups, this will complicate the process.
ZDLRA PROCESS
For the ZDLRA, the process is very simple. As you go through the steps, you see that that new version record is create for each datafile that has any changes since the last backup (regardless of the backup type).
When an incremental cumulative backup is executed and sent to the ZDLRA, it compares the checkpoint scn of the last full backup in the catalog (the virtual full).
Because it is using the RMAN catalog, the RMAN client always compares to the last virtual full.
Keeping 7 days of BCT history works fine because it always compares to the previous backup.