DIFFERENTIAL & CUMULATIVE INCREMENTAL BACKUP - Understanding
The only difference between a level 0 incremental backup and a full backup is that a full backup is never included in an incremental strategy. Thus, an incremental level 0 backup is a full backup that happens to be the parent of incremental backups whose level is greater than 0. When you are planning for the Incremental backup in your system. You have start with incremental level 0 then you can proceed with Differential & cumulative incremental backup
RMAN> BACKUP INCREMENTAL LEVEL 0 DATABASE;
NOTE: you should consider whether you want to spend more time on backup (or) restore/recovery.
If you are going for the FASTER BACKUP è differential incremental backup, it will do backup quickly. Since it has to take the backup only from last level 1 backup (if no level 1, then it takes a level 0 backup). But when you want to restore then you need to have all the differential level 1 backup and LEVEL 0 backup to restore.
If you are going for the FASTER RESTORE è cumulative incremental backup, it will little time in doing the backup. Since it will be taking the backup from the last level 0 backup(it will ignore even though you have the level 1 backup). During the restore, it requires only one LEVEL 0 backup and last LEVEL 1 cumulative backup.
A level 1 incremental backup can be either of the following types:
èDifferential incremental backup, which backs up all blocks changed after the most recent incremental backup at level 1 or 0
RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;
IF YOU ARE NOT SPECIFYING THE WORD CUMULATIVE, THEN ORACLE WILL TAKE IT AS A DIFFERENTIAL BACKUP
è Cumulative incremental backup, which backs up all blocks changed after the most recent incremental backup at level 0
RMAN> BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE;
Block Change Tracking
The block change tracking feature for incremental backups improves incremental backup performance by recording changed blocks in each data file in a block change tracking file. This file is a small binary file stored in the database area. RMAN tracks changed blocks as redo is generated.
NOTE: This will have slight performance degradation.