Tasks to receive messages

The SQL Remote Message Agent (dbremote) performs the following tasks when it receives messages:

  • Polling for incoming messages   To check for new messages that have arrived at a database, the SQL Remote Message Agent (dbremote) polls for new messages.

  • Reading the messages   When messages arrive, they are read and stored in cache memory by the SQL Remote Message Agent (dbremote) until they can be applied.

    If a message is missing and the SQL Remote Message Agent (dbremote) is running in continuous mode, then the SQL Remote Message Agent (dbremote) waits for the message to arrive in a subsequent poll. The number of polls that SQL Remote Message Agent (dbremote) waits is referred to as its patience, and is specified by the -rp option.

    • If the missing message arrives before the SQL Remote Message Agent (dbremote) patience expires, then the missing message is added, in the correct order, to the cache.

    • If the missing message does not arrive and the SQL Remote Message Agent (dbremote) patience expires, then the SQL Remote Message Agent (dbremote) sends a request to re-send the message from the publisher database.

    Messages continue to be read and added to the cache until the cache memory usage is exceeded. When the cache memory usage specified using the -m option is exceeded, messages are deleted.

  • Applying the messages   The SQL Remote Message Agent (dbremote) applies the messages, in the correct order, to the subscriber database.

  • Waiting for confirmation that the messages are applied on the subscriber databases   Once the message has been received and applied at the subscribed database, confirmation is sent back to the publisher. When the publisher SQL Remote Message Agent (dbremote) receives the confirmation, it keeps track of the confirmation in a system table.

 See also