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