Flashback Database explained and limitation

Last updated on November 23rd, 2015 at 08:03 am

What is Flashback Database
a)New feature from 10.1 onwards, Uses past block images to back out changes to a database
b)During normal database operation, Oracle occasionally logs past block images in flashback logs
c)Flashback logs are  written sequentially not archived
d) Oracle automatically creates, resizes and deletes flashback logs in the flash recovery area
e) DBA should be aware of flashback logs to monitor performance,to decide how much space to allocate to flash recovery area
f)Allows database to be recovered to a previous time to correct problems caused by logical data corruptions,user errors

How flashback database works
a)Before images are used to restore database to a point in the past
b)Forward recovery is then used to bring the database to a consistent state
c) So it both used the flashback logs and archive log . Both should be available to flash back the database.
d) past block images are created using the new process RVWR background process

How to configure flashback database
a)Archiving must be enabled
b)Flash recovery area must be configured using
DB_RECOVERY_FILE_DEST_SIZE – size of flashback recovery area in bytes
DB_RECOVERY_FILE_DEST – location of flashback recovery area
c)Open the database in MOUNT EXCLUSIVE mode and turn on the flashback feature:
d) Set the Flashback Database retention target:
To enable Flashback Database, Issue the following command:
SQL> select flashback_on from  v$database;
e)To disable disable Flashback Database, issue the following command
f)Monitor logging in the Flashback Database logs:

SQL> select begin_time, flashback_data,
db_data, redo_data, ESTIMATED_FLASHBACK_SIZE
from   v$flashback_database_stat;

g)Monitor the Flashback Database retention target:
SQL> select * from   v$flashback_database_log;

More information about Flashback Database
a)Flashback uses a flashback generation buffer
Size of generation buffer is recorded in V$SGASTAT
Size is determined by _flashback_generation_buffer_size
defaults to 4194304
b) Flashback uses the recovery writer (RVWR) background process to copies flashback blocks from flashback generation buffer to flashback logs
c)All blocks are logged when they first become dirty Includes data, indexes, undo, segment headers, bitmaps
d)  Subsequent changes not necessarily logged
e) Amount of flashback redo log generated roughly equivalent to value of physical writes statistics
f) Very similar design to LGWR  ie. Changes initially written to memory buffer and RVWR subsequently flushes flashback records to disk


Leave a Reply