Sometimes it is more efficient to roll-back changes in a database rather than do a point-in-time recovery. Flashback Database can rewind the entire database and changes that occurred within a given time window. The effects are similar to database point-in-time recovery.
Normal Restore Points
- RECOVER DATABASE and FLASHBACK DATABASE commands within RMAN
- FLASHBACK TABLE in SQL*Plus
- The Fast Recovery Area must be configured (db_recovery_file_dest +db_recovery_file_dest_size).
- FLASHBACK_DATABASE must be enabled.
- Archivelog mode must be active.
- It is aligned with the parameter: db_flashback_retention_target.
- This means that logs older than the specified parameter will be deleted/overwritten, which can result in insufficient information to perform a flashback.
- Without a previous Flashback_Database operation, the Restore Point is useless (warning).
- It causes more I/O because different block versions are retained at different points in time.
- It can generate a larger number of Flashback logs.
Creating Normal Restore Points
How It Works
Guaranteed Restore Points (GRP)
- The Fast Recovery Area must be configured (db_recovery_file_dest + db_recovery_file_dest_size).
- Archivelog mode must be active.
- It is a fixed, never-expiring pointer in the database.
- It must be manually deleted, or else the Fast Recovery Area may become full.
- FLASHBACK_DATABASE does not need to be enabled.
- It is independent of the Retention_target parameter.
- This functionality is also used by the Autoupgrade utility.
- Only Flashback Database operations use Flashback logs.
- It generates fewer Flashback logs.
- It causes less I/O because only one copy of the block image before the change is stored in the Flashback log.
- The user must have the SYSDBA system privileges.
