Improve Backup Performance – Change Tracking

RMAN’s improvement in incremental backup performance is facilitated by its change tracking feature, which records altered blocks in a designated file. Enabling change tracking allows RMAN to efficiently identify changed blocks for incremental backups without the necessity of scanning every block in the datafile.

Upon activating change tracking, it’s important to note that the initial level 0 incremental backup must still scan the entire datafile. This is because the change tracking file does not immediately reflect the block status. However, subsequent incremental backups that utilize this initial level 0 backup as a reference will benefit from the efficiency provided by the change tracking file.

Current status of change tracking:

SQL> Select status from V$block_change_tracking;

STATUS
----------
DISABLED

Enable block change tracking:

SQL> alter database enable block change tracking using file '/u01/backup/bc_track/bc_track.log';

Database altered.

SQL> Select filename,status from V$block_change_tracking;

FILENAME                            STATUS
----------------------------------- ----------
/u01/backup/bc_track/bc_track.log   ENABLED

Change tracking writer process:

SQL> select * from v$sgastat where name like '%CTWR%';

POOL           NAME                            BYTES     CON_ID
-------------- -------------------------- ---------- ----------
large pool     CTWR dba buffer               1953792          0

Disable block change tracking:

SQL> alter database disable block change tracking;

Database altered.

SQL> Select filename,status from V$block_change_tracking;

FILENAME                            STATUS
----------------------------------- ----------
                                    DISABLED

SQL> select * from v$sgastat where name like '%CTWR%';

no rows selected