Another little feature in 11g is undo backup optimization.
Prior to Oracle 11g, RMAN always backed up all UNDO with a full backup, including UNDO for committed blocks.
However in 11g, RMAN is able to skip the UNDO information for those blocks that are already committed and exceeded undo_retnention threshold.
This optimization brings in 11g to skip those undo blocks that are not needed for recovery operation. This allows backup of undo TS should be quicker and save some storage.
Further, there is a bug or behavior change that,
Bug 6399468: UNDO OPTIMIZATION
====> Undo optimization was changed from 'all undo not needed' to 'undo not in use older than 1 hour' ====> Undo optimization was changed from 'all undo not needed' to 'undo not in use older than 1 hour'
In unpublished bug , the Undo optimization was changed from 'all undo not needed' to 'undo not in use older than 1 hour'.
You can test the UNDO backup optimization by
1) Take a backup of UNDO TS via RMAN, note down the size
2) Do a massive transaction
3) Commit
4) Sleep for certain seconds
5) Take a backup of UNDO TS again, node down the size -, you might see here that UNDO TS size is not reduced
6) This is due to the bug mentioned above, where undo will only skip the changes that done past 1 hour. So lets try again
1) Take a backup of UNDO TS via RMAN, note down the size
2) Do a massive transaction
3) Commit
4) Sleep for certain seconds using dbms_lock.sleep(3600); --> 1 Hour
5) Take a backup of UNDO TS again, node down the size of backup --> now you may see the reduced size of file from the Step 1 above.
6) Your backup optimization is working.
-Thanks
Geek DBA
Follow Me!!!