Replication Agent 15.5 supports replication of Oracle Flashback at the table and transaction levels. Oracle Flashback provides the capability to query historical data, perform change analysis, and perform self-service repair to recover from logical corruptions while the database is online. Oracle customers can use Flashback to undo previous data changes, thereby minimizing application outages caused by operator or user errors, such as accidental deletion of valuable data, deletion of the wrong data, and dropping the wrong table.
Flashback operations supported by Replication Agent are:
DML Flashback – replication of DML change from a command flashback table to a system change number (SCN), timestamp, or restore point. The only requirement is that undo_retension should be large enough so that the flashback command can be executed successfully. The DML changes results from executing the undo_sql from flashback query are naturally supported if the table is marked.
DDL Flashback – captures the full DDL command from the Oracle redo log when the following commands are executed; drop table to recyclebin, flashback table in recycle bin, purge table, purge index, purge tablespace, purge recyclebin, purge dba_recyclebin. When the replicate database recycle bin is enabled, Replication Agent guarantees the replication of these DDL commands executed in the primary database to the replicate database. Since the recycle bin of the replicate database can be different from the primary database, these DDL commands may not successfully execute at the replicate database. In addition, the results of these DDL commands at the replicate database may be a little different from that in the primary database.
Flashback Data Archive – replicating alter, create, or drop flashback data archive DDL commands. The Flashback Data Archive replication feature is only available for Oracle 11g primary and replicate databases.
Flash Recover Area – reading archive logs from Oracle Flash Recover Area by configuring pdb_archive_path to the location of the flash_recovery_area.
To use this feature:
pds_username must have Select permission on SYS.RECYCLEBIN$.
ddl_user must have sysdba privilege and ddl_username should be suffixed with “as sysdba” if purge dba_recyclebin is replicated.
When the replicate database recycle bin is disabled, the replication of flashback and purge commands executed in the primary database fails, in spite of successful replication of the drop table command since the table is dropped permanently at the replicate database.
For Oracle to non-Oracle replication, Replication Agent requires DDL replication to be turned off, since DDL translation is not supported. This prevents sending the flashback DDL command to Replication Server.
When multiple versions of a dropped table exist in the recycle bin of the replicate database, and the flashback table or purge table is replicated, the most recent version of dropped table is flashbacked or purged.
If a dropped table is flashbacked with the rename clause, replication definition is not automatically changed to match the new object name. You must manually adjust the replication definition.
See Chapter 1, “Replication Agent for Oracle,” in the Replication Agent 15.5 Primary Database Guide.