14. Incremental differential backup and Incremental Cumulative Backup - sayanbhattacharya1234/Oracle_DBA GitHub Wiki

In Physical Backup they are also two types of Incremental backups

1. Incremental differential Backup

2. Incremental Cumulative Backup

. Q. why incremental backup is needed

-> In our real time databases might be 100 - 200 TB size(large).so its backup size also near 200TB size, to take backup of this large size database will take lot of time.

Normally we take schedule backup when traffic is less. because with high traffic if want to take backup in running time the CPU , disk database slow.

so that's why oracle come with incremental backup.

INCREMENTAL DIFFERENTIAL BACKUP

assume SUNDAY 10 am we start taking a level 0 backup , this is same as full backup - database creation time to preseent time all physical files block by block take as backup.

On MONDAY , it will search level 0 backup ,at midnight we want to take backup at 11 pm, so it will backup all those blocks which are created newly after sunday 10.01 am means backup from sunday 10.01 am to monday 11 pm. only those blocks are taken as a incremental differential backup , that is level 1 backup.

On TUESDAY ,it will check the last level 1 backup, at midnight we want to take backup 11 pm, so it will backup all those blocks which are created newly after monday 11.01 pm means backup from monday 11.01 pm to tuesday 11 pm. only those blocks are taken as a incremental differential backup , that is level 1 backup.

and wednesday to rest so on...

###.

so incremental differential backup always search for last level 1 backup , if level 1 backup is not there , it will search for level 0 backup.

if level 0 backup is also not there , it start taking backup as level 0 backup.

Suppose tuesday's backup is deleted . then on wednesday it will start taking backup from mondays level 1 backup means from mondays 11.01 pm to wednesday 11 pm . if any backup is deleted there no way to get that data back.

###.

there are level 0 backup and level 1 backup

level 0 backup is same as full backup.

level 1 backup is the backup of only new created blocks .

Difference between level 0 backup and full backup.

level 0 backup and full backup both are same. only difference in level 0 backup is , it will just write a note at buttom internally till what time it will take the backup. So next time when we take incremental backup that will be the level 1 backup thal will start taking backup from this point after this time.

INCREMENTAL CUMULATIVE BACKUP

there will also a level 0 backup.

so, sunday we are taking backup [ level 0 backup ] on 10.00 am. full backup is done as level 0 backup.

on MONDAY, we taking backup from sunday's 10.01 am to mondays 11 pm , what all changes or new blocks are created that will be taken as a level 1 backup.

on TUESDAY , we taking backup from sunday's 10.01 am to tuesday 11 pm , what all changes or new blocks are created that will be taken as a level 1 backup.

on wed and soo on.

on SATURDAY , we taking backup from sunday's 10.01 am to saturday 11 pm , what all changes or new blocks are created that will be taken as a level 1 backup.

if any of backup deleted , it doesn't make any difference, so what all changes are there we are taking backup from last 0 level.

###.

in case of incremental cumulative it will always search for level 0 backup.

##.

INCREMENTAL DIFFERENTIAL BACKUP define by tag , thats why tag is importent

want to take level 0 backup of database

backup incremental level 0 database tag 'level0_backup';

want to take level 1 backup of database

backup incremental level 1 database tag 'level1_backup';

INCREMENTAL CUMULATIVE BACKUP

want to take level 0 backup of database

backup incremental level 1 cumulative database tag 'level1_backup';

these is a view i want to check what all backups i have

Now Suppose if anyhow or i delete the all datafiles from location of /u0/app/oracle/fast_recov_area/backupset/2026_05_** [ rm -r 2026-last backup file ]

another tab in SQL we switch the log.

now we taking backup with logfiles;

suppose my control file , spfile ,datafiles are deleted from locations, how we can restore the database in that situation.

now in sql> we do shu abort; [ because we have not control files] and exit from sql again sqlplus / as sysdba. and startup nomount;

goto rman and from there i have to restore the control file full path and mount the database .

we can create a run block inside run block { restore database; recover database; } alter database open resetlogs;

or we can do seperate also.