Replication of Oracle Flashback commands is subject to some limitations.
If the replicate database does not have the Recycle Bin enabled, Flashback commands, the PURGE command, and any command that accesses Recycle Bin objects fails, even if a DROP TABLE command has been successfully replicated.
Replication Agent does not support the translation of DDL commands between a primary and replicate database of different types. Consequently, DDL replication must be disabled when replicating from an Oracle primary database to a non-Oracle replicate database, and Flashback DDL commands cannot be replicated in this case.
If an Oracle FLASHBACK TABLE command is issued with the RENAME TO clause, Replication Agent does not automatically update the replication definition with the new table name. You must do this manually.
Replication Agent reconstructs Flashback commands based on the original object name, not on the object Recycle Bin name. When there are multiple versions of an object in the Recycle Bin, Replication Agent reconstructs a Flashback command to use the most recent version of the object that exists in the Recycle Bin at the replicate database. Consequently, subsequent Oracle commands that affect the Recycle Bin may result in inconsistency between the primary and replicate databases.
For example, the primary Oracle database contains these dropped versions of table TAB1:
SQL> SELECT object_name as recycle_name, original_name, FROM recyclebin; RECYCLE_NAME ORIGINAL_NAME TYPE -------------------------------- ------------- ----- BIN$zyxwvutsrqponmlkjihgfedcba$1 TAB1 TABLE BIN$zyxwvutsrqponmlkjihgfedcba$2 TAB1 TABLE BIN$zyxwvutsrqponmlkjihgfedcba$3 TAB1 TABLE
The replicate Oracle database contains these dropped versions of table TAB1:
SQL> SELECT object_name as recycle_name, original_name, type FROM recyclebin; RECYCLE_NAME ORIGINAL_NAME TYPE -------------------------------- ------------- ----- BIN$abcdefghijklmnopqrstuvwxyz$1 TAB1 TABLE BIN$abcdefghijklmnopqrstuvwxyz$2 TAB1 TABLE BIN$abcdefghijklmnopqrstuvwxyz$3 TAB1 TABLE
This Flashback command is executed at the primary Oracle database:
FLASHBACK TABLE "BIN$zyxwvutsrqponmlkjihgfedcba$2" TO BEFORE DROP;
Because Replication Agent reconstructs Flashback commands based on the original object name and uses the most recent version of a dropped object in the Flashback command, this command is executed at the replicate Oracle database:
FLASHBACK TABLE "BIN$abcdefghijklmnopqrstuvwxyz$3" TO BEFORE DROP;
If BIN$zyxwvutsrqponmlkjihgfedcba$2 differs in content from BIN$abcdefghijklmnopqrstuvwxyz$3, the primary and replicate databases have become inconsistent.