In Oracle Database operations, as data volume increases, the prolonged time required for backups becomes a significant challenge. Oracle Fast Incremental Backup is a feature that drastically reduces backup time by utilizing Block Change Tracking (BCT). This article explains everything from the procedure to enable Block Change Tracking to operational considerations in a way that is easy for beginners to understand.
- How Fast Incremental Backup Works
- How to Configure Fast Incremental Backup
- Executing Fast Incremental Backup
- Disabling BCT (If No Longer Required)
- Troubleshooting: Common ORA Errors
- Operational, Monitoring, and Security Considerations
- FAQ: Fast Incremental Backup Procedures and Doubts
- Summary: Points for Fast Incremental Backup
How Fast Incremental Backup Works
In a standard incremental backup, Oracle scans the entire datafile to identify modified blocks and then backs them up. However, as datafile sizes grow, the process of identifying these changed blocks becomes a burden, leading to longer backup windows.
By enabling Block Change Tracking (BCT), Oracle records information about changed blocks in a dedicated BCT file. By utilizing this information during incremental backups, Oracle can quickly capture only the changed blocks without having to scan the entire datafile.
💡 Benefits
- Faster Backup Processing: Backup time is reduced because only changed blocks are read.
- Resource Reduction: I/O load is mitigated since the full scan of datafiles can be bypassed.
- Improved Backup Frequency: Faster processing allows for more frequent incremental backups.
How to Configure Fast Incremental Backup
Enabling BCT (Block Change Tracking)
To use BCT, the database must be in ARCHIVELOG mode.
📌 Check the current ARCHIVELOG mode
SELECT log_mode FROM v$database;
Results:
ARCHIVELOG→ Can be configured immediately.NOARCHIVELOG→ Change required (Switch toARCHIVELOGmode).
Enabling the BCT File
Next, enable BCT and create the file that will store the change information.
ALTER DATABASE ENABLE BLOCK CHANGE TRACKING
USING FILE '/u01/app/oracle/oradata/V19/change_tracking.ctf';
Options:
- Specify the location of the file to store BCT information using
USING FILE '<file_path>'. - Specify
REUSEto reuse an existing BCT file if one already exists.
SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING
2 USING FILE '/u01/app/oracle/oradata/V19/change_tracking.ctf';
Database altered.
Verify BCT Status
To verify whether BCT is enabled, execute the following SQL:
SELECT status, filename FROM v$block_change_tracking;
Result Example:
SQL> SELECT status, filename FROM v$block_change_tracking;
STATUS FILENAME
-------------------- --------------------------------------------------
ENABLED /u01/app/oracle/oradata/V19/change_tracking.ctf
If the status is ENABLED, BCT is active.
Executing Fast Incremental Backup
After enabling BCT, Fast Incremental Backup is automatically utilized when you perform a standard Cumulative Incremental Backup or Differential Incremental Backup.
Cumulative Incremental Backup
A Cumulative Incremental Backup backs up all blocks that have changed since the most recent Level 0 backup.
BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE FORMAT '/backup/inc1_cum_%U';
Differential Incremental Backup
A Differential Incremental Backup backs up only the blocks that have changed since the most recent incremental backup (Level 0 or Level 1).
BACKUP INCREMENTAL LEVEL 1 DATABASE FORMAT '/backup/inc1_diff_%U';
Disabling BCT (If No Longer Required)
To disable BCT, execute the following SQL:
ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;
SQL> ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;
Database altered.
SQL> SELECT status, filename FROM v$block_change_tracking;
STATUS FILENAME
-------------------- --------------------------------------------------
DISABLED
When BCT is disabled, the file is not always deleted automatically depending on the environment. If it is no longer needed, you must delete it manually.
rm /u01/app/oracle/oradata/V19/change_tracking.ctf
Troubleshooting: Common ORA Errors
| ORA Error | Cause | Action |
| ORA-19773 | Failed to create BCT file (invalid path, etc.) | Verify directory permissions and the file path. |
| ORA-00439 | Feature not enabled (SE2, etc.) | Verify that you are using Enterprise Edition. |
| Backup is slow | BCT might not be in use | Check if USED_BCT is YES in V$RMAN_BACKUP_JOB_DETAILS. |
Operational, Monitoring, and Security Considerations
- Resource Consumption: The BCT file typically consumes space equivalent to approximately 1/250th of the datafile size. Monitor your disk free space.
- Risk: If the BCT file becomes corrupted, the database itself will not stop. However, the next backup will revert to the “traditional scan method,” resulting in longer execution times.
- Disabling: If it becomes unnecessary, it can be disabled with the following command:
ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;Note: When disabled, the BCT file is physically deleted.
FAQ: Fast Incremental Backup Procedures and Doubts
Q1. Can I use this in Standard Edition 2 (SE2)?
A1. No, Block Change Tracking (BCT) is a feature exclusive to Enterprise Edition (EE). In SE2, you must use standard incremental backups (full scan method).
Q2. Does the backup become faster immediately after enabling BCT?
A2. No. The first “Level 0 backup” (equivalent to a full backup) performed after enabling BCT still requires a full scan. You will benefit from the acceleration starting from the subsequent “Level 1 backups.”
Q3. Can I change the location of the BCT file later?
A3. Yes. You must first DISABLE it and then re-ENABLE it by specifying the new path. However, since previous tracking information is lost, the next incremental backup will be slow (full scan).
Q4. Will the BCT file continue to grow indefinitely?
A4. The BCT file allocates a specific size (bitmap) to manage changes within the database. Unless datafiles are added, it will not expand rapidly; however, it is designed to retain incremental backup information for up to the last 8 backups.
Summary: Points for Fast Incremental Backup
- Enabling Block Change Tracking (BCT) accelerates incremental backups.
- This is an Enterprise Edition exclusive feature and requires ARCHIVELOG mode.
- Configuration is completed with a single command:
ALTER DATABASE ENABLE BLOCK CHANGE TRACKING. - Ideal for increasing backup frequency while lowering I/O load in backup operations.
This article is based on Oracle Database 19c (screens and default values may differ for other versions).
[reference]
Oracle Database Backup and Recovery Reference, 19c


コメント