Understanding the Message Agent (dbremote)

The Message Agent (dbremote) is a key component in SQL Remote replication. It must be installed and run on the every database in the system. The Message Agent (dbremote) handles both sending and receiving messages.

It carries out the following functions:

  • Message Agent (dbremote) tasks when sending messages  

    • It scans the transaction log at each publisher database and translates the transaction log entries into messages for subscribers.

    • It sends the messages to subscribers.

    • When it receives a request to resend messages, the Message Agent (dbremote) resends the messages to the database that made the request.

    • It maintains message information in the system tables, and manages the Guaranteed Message Delivery System.

    See Sending message tasks.

  • Message Agent (dbremote) tasks when receiving messages  

    • It processes incoming messages, and applies them in the proper order to the database.

    • It requests that missing messages be resent.

    • It maintains the message information in the system tables, and manages the Guaranteed Message Delivery System.

    See Receiving message tasks.

Connections

The Message Agent (dbremote) uses several connections to the database server. These are:

  • One global connection   This connection is active all the time the Message Agent (dbremote) is running.

  • One connection for scanning the transaction log   This connection is active during the scan phase only.

  • One connection for executing commands from the transaction log-scanning thread   This connection is active during the scan phase only.

  • One connection for processing synchronize subscription requests   This connection is active during the send phase only.

  • One connection for each worker thread   These connections are alive during the receive phase only.


Choosing the Message Agent (dbremote) mode
Run the Message Agent (dbremote) in continuous mode
Run the Message Agent (dbremote) in batch mode
Run the Message Agent (dbremote) on Mac OS X
Run the Message Agent (dbremote) on Unix