It's all very well replicating data in real-time between a source and target database, but what if something disastrous happens to the source data like a user drops a table, deletes important records, or the data becomes corrupt? The answer may be to build a delay into the Changed Data Delivery (CDD), but this seems to defeat the object of fast data replication. What can be done to manage the changed data, ensuring that only the valid transactions succeed?
There are a number of solutions to this problem, none of which prevent user error or data corruption. Let's take a look at some of these options that are provided by the Oracle database.
Since Oracle 10g, the database provides Flashback technology, allowing the database, a table, or even a transaction to be flashed back to a given SCN or timestamp. The Flashback technology provides a fast, reliable recovery mechanism over the traditional method of performing a point-in-time recovery.