Oracle 10g: New Flashback Features, Part 1
by Daniel T. Liu
Although the Flashback feature was introduced in Oracle9i, it was limited to Flashback Query only. Great improvements have been made in the Flashback functions in Oracle Database 10g. When user errors and logical corruptions occur in the 10g database, Flashback functionalities provide fast and flexible data recovery. Here is a list of new Flashback features in Oracle Database 10g:
- Flashback Database
- Flashback Drop
- Flashback Table
- Flashback Version Query
- Flashback Transaction Query
In the first part of this series, we are going to introduce two Flashback features, Flashback Database and Flashback Drop.
 Flashback Database
Flashback Database is faster than traditional point-in-time recovery. The traditional recovery method uses backups and redo log files; Flashback Database is implemented using a new type of log file called the Flashback Database log. The Oracle database server periodically logs before images of data blocks in the Flashback Database logs. The data block images are used to quickly back out changes to the database during Flashback Database.
Flashback Database reduces the time required to recover the database to a point in time. The time to restore a database is proportional to the number of changes that need to be backed out, not the size of the database.
 RVWR Background Process
Enabling Flashback Database starts a new RVWR background process. This process is similar to the LGWR (log writer) process. The new process writes Flashback Database data to the Flashback Database logs.
The following list below shows all the background processes for “grid” instance:
$ ps -ef | grep grid oracle 25124 1 0 16:32:05 ? 0:00 ora_s000_grid oracle 25116 1 0 16:32:04 ? 0:00 ora_reco_grid oracle 25169 1 0 16:32:22 ? 0:00 ora_rvwr_grid oracle 25112 1 0 16:32:04 ? 0:00 ora_ckpt_grid oracle 25110 1 0 16:32:04 ? 0:00 ora_lgwr_grid oracle 25108 1 0 16:32:04 ? 0:00 ora_dbw0_grid oracle 25114 1 0 16:32:04 ? 0:00 ora_smon_grid oracle 25118 1 0 16:32:04 ? 0:00 ora_cjq0_grid oracle 25120 1 0 16:32:04 ? 0:00 ora_rbal_grid oracle 25122 1 0 16:32:04 ? 0:00 ora_d000_grid oracle 25106 1 0 16:32:04 ? 0:00 ora_pmon_grid