Restore Points and Guaranteed Restore Points:
Before using flashback database solution to revert any changes made on the database, you can give a name to the SCN or specific Time until which you want to restore. This name you give is called a restore point.
A normal restore point enables you to flash the database back to a restore point within the time period determined by the DB_FLASHBACK_RETENTION_TARGET initialization parameter. A guaranteed restore point enables you to flash the database back deterministically to the restore point regardless of the DB_FLASHBACK_RETENTION_TARGET initialization parameter setting. The guaranteed ability to flash back depends on sufficient space being available in the flash recovery area.
Both normal Restore points and guaranteed restore points are stored in the control file. The main difference is that normal restore points aged out from the control file where a guaranteed restore points never age out of the control file and must be manually dropped. In normal restore point Flashback logs may be deleted in response to space pressure.
A guaranteed restore point combined with the Flashback Database command rewinds the database to its state at the restore point SCN even if the flashback database features in not enabled. If you choose to disable the flashback logging, then you cannot use the flashback database to restore the database to any point from the guaranteed restore point. However, you can flashback to the guaranteed restore point and then use the archive logs to recover to SCNs from the guaranteed restore point until the time you want to recover to.
Guaranteed Restore Points with Flashback Logging Disabled:
When you create a guaranteed restore points and the flashback database is disabled then the first time a data file block is modified Oracle stores an image of the block before the modification in the flashback logs. Later modifications to the same block are not logged again in the flashback logs unless another guaranteed restore point was created after the block was last modified.
This solution can be used when you want to revert database changes made by the application (during an upgrade for example).
In the following example, we will show you how to use Guaranteed Restore Points with Flashback Logging Disabled to revert database changes in a RAC 11gR2 environment.
Read the complete post here: www.oracle-class.com