Architecture Components

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.

The Queues

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

Queue Name

Relevant Data Dictionary Views

Description

Deferred transaction (a.k.a. deftrans)

Primary:

DEFTRAN

Other:

DEFTRANDEST
DEFERRCOUNT
DEFERROR

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)

Primary:

DEFCALL

Other:

DEFCALLDEST

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)

DBA_REPCAT

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.

Job

Primary:

DBA_JOBS

Other:

DEFSCHEDULE
DBA_JOBS_RUNNING ...

Get Oracle Distributed Systems now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.