1. The Incrementally Updated Backup Strategy
By utilizing Oracle's BACKUP INCREMENTAL ... FOR RECOVER OF COPY pattern, databases maintain an image copy in the Fast Recovery Area (FRA) that is rolled forward daily using cumulative level 1 backups. This effectively eliminates the need for repeated full database backups.
# Daily Rolling Incremental Backup Script
RUN {{
ALLOCATE CHANNEL c1 DEVICE TYPE DISK;
ALLOCATE CHANNEL c2 DEVICE TYPE DISK;
-- Roll forward existing image copy
RECOVER COPY OF DATABASE WITH TAG 'daily_rolling_img';
-- Capture changes since yesterday
BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG 'daily_rolling_img' DATABASE;
-- Backup archivelogs and purge shipped ones
BACKUP ARCHIVELOG ALL NOT BACKED UP 1 TIMES DELETE INPUT;
}}
2. Block Change Tracking (BCT) Architecture
Without Block Change Tracking, a Level 1 incremental backup must read every single block in the entire database to determine if it has changed, consuming massive storage bandwidth. Enabling BCT spawns the CTWR (Change Tracking Writer) background process, recording modified blocks into a compact tracking file.
SQL> SELECT status, bytes / 1024 / 1024 AS bct_mb FROM v$block_change_tracking;
On a 25TB production core banking database, BCT reduced daily incremental backup duration from 6 hours 45 minutes down to 18 minutes.
3. Live Online Corruption Repair with BLOCKRECOVER
When bad sectors or controller errors corrupt a single Oracle database block, taking the entire datafile offline disrupts business operations. RMAN provides the surgical BLOCKRECOVER command to restore and recover only the defective blocks from Flashback logs or backups while the database remains 100% online.