Oracle has built the replication facility on a variety of triggers, packages, background processes, jobs, and tables, all working in concert to deliver data to multiple sites as if by magic. If you are the DBA for a replicated environment, you must understand the secrets behind this magic. Read on.
Queues are the foundation of the replication architecture. DML and DDL changes are entered into these queues, from which they are propagated to remote sites. Table 9.2 summarizes the queues.
Table 9-2. Replication Queues
Relevant Data Dictionary Views
Deferred transaction (a.k.a. deftrans)
Local transactions that are to be replicated to remote sites are enqueued in to deftrans. A trigger on the replicated table table_name $RT inserts these entries. Note that in Oracle8 this trigger is internalized and is therefore not visible in the data dictionary.
Replication call (a.k.a. defcall)
Remote procedure calls are enqueued into the DEFCALL view. In the case of a replicated table, there is one entry for each row that is changed.
Replication catalog (a.k.a. repcatlog)
DDL modifications to replicated objects as well as administrative tasks such as changing to the propagation mode are tracked in DBA_REPCAT. This view also contains information about errors that may have occurred when performing these tasks.