Oracle Flash - What is it?
April 2, 2009
Both system failures and human blunders continually happen, but you just might be able to tread water if you implement Oracles flash features.
I am almost ashamed to say that Ive not every used Oracles flash features in a production environment. OK, you caught me; Ive never used them at all. From my perspective, it just so happens that Ive come across a client that there seems to be a real need. Just so happens Ive 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, Ive decided to venture down the road of using Oracles flash features to help protect this volatile environment.
Now you might be saying: Ive never heard of Oracle Flash! And youd be right. Im actually referring to both Oracles Flashback technology and Oracle's flash backup and recovery features. If youve 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 Ill venture into all its nooks and crannies. To kick things off, theres 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
Oracles 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 Oracles 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 databasevery 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, Id 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 users.
Flashback Versions Query allows a user to query, retrieve, and view all changes made to rows for a time intervaldisplaying 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 transactiongiving 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 tapeproviding 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 tables indexes, constraints, and triggers.
Flashback Restore Points as an extension to using time intervals, Oracle provides the ability to set and use user defined restore pointsmaking it easier for users and applications to dynamically set and use in the recovery process.
Oracle Flash Backup and Recovery
Flash 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 diskenabling faster backups and recoveries because all files are readily available on disk and managed by Oracles Recovery Manager (RMAN). While some might say that Oracle Flash Backup and Recovery is just a glorified disk backup Id like to point out some of the key features that make this a much more viable option than just backing up to disk:
Clearly Oracles 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 Ill be providing insight into the deployment of these flash features. And as always therell be plenty of scripts for you to use. Dont let this series flash by.