Subscribe YouTube Channel For More Live Tutorials

How does rman backup improve performance by Block Change Tracking

How does rman backup improve performance by Block Change Tracking

Maintains record of what blocks have changed since the last backup.

Writes this record to a file , as redo is generated.

Is Automatically accessed when a backup is done,making the backup run faster.

Improve the Performance of Incremental backup by recording changed blocks in the block change tracking file.

so in the next incremental backup, those changes tracked in file are only scanned for faster performance.

Optimizes incremental backups by avoiding full datafile scans during backup.

SQL>SELECT status, filename,bytes,con_id FROM V$BLOCK_CHANGE_TRACKING;

STATUS        FILENAME           BYTES     CON_ID
---------- -------------------- ---------- ----------
ENABLED    /archives/prod/bct.dbf   12323472      0

SQL>ALTER SYSTEM SET DB_CREATE_FILE_DEST = '/oradata';

SQL>ALTER DATABASE ENABLE BLOCK CHANGE TRACKING;

Block Change tracking
Block Change tracking

How do we increase performance of rman backup job?

by enabling block_change_Tracking file, store those changes need to get backup which makes scan faster while reading this file.
also by enabling parallelism.

Which background process runs for block change tracking ?

The Change tracking writer (CTWR) Process.

Unix Level - Verify using.

                     $ps -ef | grep ctwr

How do we monitoring the Block Change Tracking?

Using view v$backup_datafile as follows with the Query,

SQL>select file#,avg(datafile_blocks),avg(blocks_read),avg(blocks_read/datafile_blocks) * 100 as PCT_READ_FOR_BACKUP,

avg(blocks)

from v$backup_datafile

where used_change_tracking = 'YES'

and incremental_level > 0

group by file#;

 

How to disable Block Change Tracking ?

To disable block change tracking (in the target database) before to apply redo logs you can use the following statement:

SQL> alter database disable block change tracking;
Database altered.