Commands for Monitoring Warm Standby Applications

Use the admin commands to monitor the status of a warm standby application.

SeeReplication Server Reference Manual > Replication Server Commands for more information about these commands.

admin logical_status

The admin logical_status command tells you:
  • How the addition of a standby database or the switching between active and standby databases is progressing.

  • Whether the active or standby database connection is suspended.

  • Whether the standby DSI is ignoring messages. The standby DSI ignores messages while it waits for a marker to arrive in the transaction stream from the active database.

admin who, dsi

The admin who, dsi command provides another method to check the status of the standby DSI. The IgnoringStatus output column contains either:
  • “Applying” – if the DSI is applying messages to the standby database, or

  • “Ignoring” – if the DSI is waiting for a marker.

admin who, sqm

The admin who, sqm command provides information about the state of stable queues. In a warm standby application, the inbound queue is read by the Distributor thread, if you have not disabled it, and by the standby DSI thread. Replication Server cannot delete messages from the inbound queue until both threads have read and delivered them.

If Replication Server is not deleting messages from the inbound queue, you can use the admin who, sqm command to investigate the problem. The command tells you how many threads are reading the queue and the minimum deletion point in the queue.

admin sqm_readers

The admin sqm_readers command monitors the read and delete points of the individual threads that are reading the inbound queue. If the inbound queue is not being deleted, admin sqm_readers will help you find the thread that is not reading the queue.

The admin sqm_readers command takes two parameters: the queue number and the queue type for the logical connection.

You can find the queue number and queue type in the Info column of the admin who, sqm command output: the queue number is the 3-digit number to the left of the colon, while the queue type is the digit to the right of the colon.

Queue type 1 is an inbound queue. Queue type 0 is an outbound queue. The inbound queue for a logical connection can be read by more than one thread. For example, to find out about the threads reading inbound queue number 102, execute admin sqm_readers as follows:
admin sqm_readers, 102, 1