RMAN also lets you incrementally update a database backup with the changes instead of creating a separate incremental backup each time. The advantage of updating a database backup is that it will take less time to recover.
To incrementally update data file backups:
RECOVER COPY OF DATABASE WITH TAG 'updated_db_bck';
INCREMENTAL LEVEL 1
FOR RECOVER OF COPY WITH TAG 'updated_db_bck'
You can run the script daily and RMAN will automatically
Creates a complete backup
Takes incremental backup
3rd Run and so on
Takes a incremental backup and updates the complete backup with it
When you take RMAN incremental backups RMAN has to scan each block in datafiles to determine whether it has changed or not, this takes quite a time. This time can be reduced by enabling block change tracking
When you enable block change tracking then Oracle will create a Block Change Tracking File in which Oracle will maintain the status of blocks whether it is changed or not. So that when you take RMAN incremental backup, RMAN will scan this file instead of whole datafile to determine which blocks are changed. This makes incremental backups faster.
To Enable Block Change Tracking give the following command when the database is in opened or mounted state
SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING;
The Block Change Tracking File by default is located in the directory mentioned in DB_CREATE_FILE_DEST parameter.
If you want to have the file in another location then you can mention the location by typing the following command
SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING
USING FILE '/u02/oracle/test/block_chg_file/test_db_block_change_track.f' REUSE;
SQL> ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;
SQL> SELECT STATUS, FILENAME FROM V$BLOCK_CHANGE_TRACKING;