An RMAN backup in which only modified blocks are backed up. Incremental backups are classified by level.
Level 0 incremental backup
A level 0 incremental backup performs the same function as a full backup in that they both back up all blocks that have ever been used, but unlike a full backup the level 0 backup is considered a part of the incremental backup strategy.
Level 1 incremental backup
A level 1 incremental backup back up only blocks that have changed since previous incremental backups. Blocks that have not changed are not backed up.
An incremental backup can be either a differential incremental backup or a cumulative incremental backup.
Differential incremental backup.
An incremental backup that backs up all blocks that have changed since the most recent backup at level 1 or level 0.
Cumulative incremental backup
An incremental backup that backs up all the blocks changed since the most recent backup at level 0.
RMAN can make incremental backups of an ARCHIVELOG mode database that is open or mounted. If the database is in NOARCHIVELOG mode, then RMAN can only make incremental backups after a consistent shutdown
The primary reasons for making incremental backups are;
- Faster daily backups if block change tracking is enabled
- Rreducing recovery time and avoiding repeated full backups
- Less bandwidth consumption when backing up over a network
- Improved performance when the aggregate tape bandwidth for tape write I/Os is much less than the aggregate disk bandwidth for disk read I/Os.
- Possibility of recovering changes to objects created with the NOLOGGING option. For example, direct load inserts do not create redo log entries, so their changes cannot be reproduced with media recovery. Direct load inserts do change data blocks, however, and so these blocks are captured by incremental backups.
- Synchronize a physical standby database with the primary database
Example of RMAN Incremental Backup
You can implement a three-level backup scheme so that a full or level 0 backup is taken monthly, a cumulative level 1 is taken weekly, and a differential level 1 is taken daily. In this example, you never have to apply more than a day of redo for complete recovery.
An effective way to conserve disk space is to make incremental backups to disk, and then offload the backups to tape with BACKUP AS BACKUPSET. Incremental backups are generally smaller than full backups, which limits the space required to store them until they are moved to tape.
By default incremental backups are differential. BACKUP INCREMENTAL command is used to make incremental backup. Make sure the target database is mounted or open. Use the LEVEL parameter to indicate the incremental level.
The following example makes a level 0 incremental database backup.
#Connect to RMAN
#Connect RMAN to target database
CONNECT TARGET SYS/pass@TEST1;
#Connect RMAN to recovery catalog (optional)
CONNECT CATALOG rman/cat@devdb;
#Issue RMAN BACKUP INCREMENTAL command.
INCREMENTAL LEVEL 0
The following example makes a differential incremental backup at level 1 of the SYSTEM and tools tablespaces. It will only back up those data blocks changed since the most recent level 1 or level 0 backup.
INCREMENTAL LEVEL 1
TABLESPACE SYSTEM, tools;
The default incremental backup type is differential; the keyword differential is neither needed nor allowed. However, to perform a cumulative backup, we add the cumulative keyword:
The following example makes a cumulative incremental backup at level 1 of the tablespace users, backing up all blocks changed since the most recent level 0 backup.
INCREMENTAL LEVEL 1 CUMULATIVE