Oracle Flash – What is it?

Both system failures and human
blunders continually happen, but you just might be able to tread water if you
implement Oracle’s flash features.

I am almost ashamed to
say that I’ve not every used Oracle’s flash features in a production
environment. OK, you caught me; I’ve never used them at all. From my
perspective, it just so happens that I’ve come across a client that there seems
to be a real need. Just so happens I’ve been asked to monitor a handful of
databases for an MSP that, through the high-potential of human error, requires
near instantaneous recovery of unforeseeable data corruption. This environment
begs for management control of users. However, as we all know that is not
always an option. Therefore, to cover every possible mistake that could happen,
I’ve decided to venture down the road of using Oracle’s flash features to help
protect this volatile environment.

Now you might be saying: I’ve
never heard of Oracle Flash! And you’d be right. I’m actually referring to both
Oracle’s Flashback technology and Oracle’s flash backup and recovery features. If
you’ve never used either of these technologies or just want to get a flavor for
all they have to offer, stick with this series of articles as I’ll venture into
all its nooks and crannies. To kick things off, there’s no better place than
just defining what both of these features are and have to offer. This will
provide not only an introduction for those of us not familiar with flash
features but will also provide a road map for future articles and deployment.

Oracle Flashback Technology

Oracle’s Flashback technology was most definitely
created to help recover from those mistakes, errors, foul-ups, blunders, we
fat-fingered humans make and the applications we write. Flashback is part of
Oracle’s data recovery options that is nothing more than a method to correct from
these errors quickly. For instance, in the past, if we had dropped a table by
mistake the method of recovery would be to rebuild from a backup copy of the
database—very time consuming and could take hours depending on the availability
of a machine and storage to recover to. With Flashback technology, the time to
recover the table is nearly equal to the amount of time required to drop it,
thus the term Flashback. Through a series of simple commands, users are able to
analyze and recover various blunders at the row, transaction, table,
tablespace, and database level. A quick look at some of the Flashback
technology features easily proves its importance in helping safeguard those
environments that are prone to human error or are not as stable as we might
like to see:

Flashback Query – allows the user to query data
at a point in time in the past. This means that while the data may have been
deleted or changed in a table, that data is still available for query results.
This also means that you cannot only investigate past data changes but you can
use the result sets to reconstruct lost or changed data. Moreover, I’d venture
to say that this could also be used in providing some historical reporting
capabilities to applications as well as built in repair functionality for

Flashback Versions Query – allows a user to
query, retrieve, and view all changes made to rows for a time
interval—displaying each version of a row as it has changed and providing a
unique opportunity to see how that row has changed. This can provide a unique
opportunity to pinpoint when changes occur and offer vital debug information
for developers and DBAs.

Flashback Transaction – allows for the simple
backing out of a transaction along with all its dependent transactions. This
provides a very high-level and efficient mechanism to back out all the SQL that
is related to a single and identifiable transaction without having to
investigate each of the underlying tables and data.

Flashback Transaction Query – just as Flashback
Versions Query worked for queries, Flashback Transaction Query allows the user
to view all the changes made within a transaction—giving detailed analysis
capabilities to developers and DBAs.

Flashback Database – allows users to bring back,
recover, or Flashback a database to a point in time. Effectively a complete
recovery operation for a database without having to source in a complete
database backup from disk or tape—providing simplicity and removing extreme
recovery times.

Flashback Table – allows users to bring back,
recover, or Flashback a table or set of tables to a point in time while
maintaining referential integrity constraints between tables.

Flashback Drop – allows users to resurrect a
dropped table and easily recover the table’s indexes, constraints, and

Flashback Restore Points – as an extension to
using time intervals, Oracle provides the ability to set and use user defined
restore points—making it easier for users and applications to dynamically set
and use in the recovery process.

Oracle Flash Backup and Recovery

backup and recovery, in conjunction with RMAN helps to automate the backup and
recovery process by managing all database data within a Flash Recovery Area.
The Flash Recovery Area based on disk—enabling faster backups and recoveries
because all files are readily available on disk and managed by Oracle’s
Recovery Manager (RMAN). While some might say that Oracle Flash Backup and
Recovery is just a glorified disk backup I’d like to point out some of the key
features that make this a much more viable option than just backing up to disk:

  • Automatic management
    of backups through policies
  • Automatic management
    of space allocation
  • Automated
    failover to previous backup when restore discovers a missing or corrupt backup
  • Automated
    recovery through a previous point in time recovery
  • Automated
    channel failover on backup or restore
  • Automated
    tablespace point-in-time recovery
  • Incremental
    backups with block change tracking
  • Compression

Clearly Oracle’s Flash features provide a rich and
extensive list of features to help safeguard both catastrophic failure and
human blunders. Stick around for future articles as I’ll be providing insight
into the deployment of these flash features. And as always there’ll be plenty
of scripts for you to use. Don’t let this series flash by.


See All Articles by Columnist
James Koopmann

James Koopmann
James Koopmann
James Koopmann has fourteen years of database design, development and performance tuning experience. In addition, he has extensive database administration experience in Oracle and other relational databases in production environments, specializing in performance tuning of database engines and SQL based applications. Koopmann is an accomplished author with several technical papers in various Oracle related publications such as Oracle Magazine, Oracle Professional and SQL>UPDATE_RMOUG. He is a featured author and database expert for DatabaseJournal, a member of the editorial review committee for Select Journal (The Magazine for the International Oracle Users Group), an Oracle Certified Professional DBA and noted speaker at local Oracle User Groups around the country.

Latest Articles