Each instance of Replication Agent for Oracle or Replication Agent for Microsoft SQL Server depends on the information in its RASD to recognize database structure or schema objects in the transaction log.

Note: The RASD is not available in Replication Agent for UDB.

When you create a Replication Agent instance, the RASD is created automatically, but it contains no information until you initialize the Replication Agent instance using the ra_admin init command. When you initialize a Replication Agent instance, the instance:

Note: Initializing Replication Agent is one of the tasks required to set up the replication system, and it has several prerequisites.

After the RASD is initially populated, its contents are synchronized with the primary database automatically during normal replication (without intervention).

If replication does not occur, the contents of the RASD become stale (not synchronized with the primary database), and you should rebuild them before use.

DDL Commands

Most of the common data definition language (DDL) commands and system procedures executed in the primary database are recorded in the transaction log, and they are replicated to the replicate database. When it processes those DDL transactions for replication, the Replication Agent updates the RASD automatically.

Note: DDL replication is not available in Replication Agent for UDB.

If a DDL command or system procedure produces a change in the primary database schema and the Replication Agent cannot recognize that command or procedure and update its RASD automatically, a replication failure occurs if a subsequent transaction changes data in an object that is not recorded in the RASD. In that event, you must quiesce the primary database and reinitialize Replication Agent to force it to update the RASD.

Each time it processes a DDL transaction that affects an existing database object, the Replication Agent creates a new version of the object metadata in its RASD. The version of each object is identified by the LTM Locator value of the DDL transaction that changed it.

Previous versions of objects must be kept in the RASD long enough to allow system recovery. For example, replaying a transaction that involved an object before it was changed by DDL could produce an error (or data inconsistency) with the current version of the object.

Note: The Replication Agent does not support replaying transactions from a restored transaction log.

Object Versions and LTM Locator Values

The Replication Agent determines which version of each object to use by comparing the current object version string with the current LTM Locator value. If the current LTM Locator value is greater than or equal to the value of the object version, the current object metadata is used. If the current LTM Locator value is less than the value of the object version, a previous version of the object metadata must be used.

Without periodic truncation, the size of the RASD can grow indefinitely, as more and more versions of object metadata are added.

Related concepts
Replication Agent Instance Creation
RASD Truncation
Related tasks
Updating the RASD