Oracle Block Change Tracking (BCT)

Block change tracking records the modified blocks since last backup and stores this logs in block change tracking file.

During backups,  RMAN uses this log file to identify the specific blocks (changed block) that must be backed up.

Benifits: BCT improves RMAN backup performance as it would not required to scan whole datafiles to detect changed blocks. It will only see the changed block through block change tracking files and take the back up that clock.

Whenever data blocks change, the Change Tracking Writer (CTWR) background process tracks the changed blocks in a private area of memory. 

When a commit is issued against the data block, the block change tracking information is copied to a shared area in Large Pool called the CTWR buffer.
During the checkpoint, the CTWR process writes the information from the CTWR RAM buffer to the block change-tracking file.

To see the status of BCT Status

SQL>select status from v$block_change_tracking;

By default, the block change tracking feature is disabled

To Enable BCT

SQL>alter database enable block change tracking;


SQL>alter database enable block change tracking USING FILE  '/u01/app/oracle/bct/rman_bct.f' reuse;"

The "USING FILE os_file_name" syntax allows you to define the location of the change tracking file on the OS, or you can omit this clause by enabling OMF.

Rename Change tracking file

SQL> alter database rename file '/u01/app/oracle/bct/rman_bct.f' to


TO disable BCT

SQL>alter database disable block change tracking;

To Monitor BCT

SQL>select filename,status, bytes from v$block_change_tracking;

To view the size of the CTWR 

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

No comments:

Post a Comment