Previous Topic: Stop a Recovering DSA Sending Out-of-date Information to a Client

Next Topic: Test Whether Two Datastores Are the Same

Manually Resynchronize a DSA in a Multiwrite System

Sometimes you might want to manually resynchronize a DSA, rather than rely on multiwrite recovery. For example, if a DSA has been offline for a while, its data might be so out of date that it is quicker to manually resynchronize it than to apply updates.

For the purposes of explanation, assume we have three DSAs:

Note: When you are deciding which of the working DSAs to be the source for loading the offline DSA, choose the DSA that does not have a multiwrite update queue for the other DSA. This means you will not lose data when you take it offline.

To manually resynchronize a DSA in a multiwrite system

  1. Stop DSA 3 if it is not already stopped.
  2. Reinitialize DSA 1 using the init command.

    This causes DSA 1 to restart its queue for DSA 3. It does not affect its queue to DSA 2.

  3. Stop DSA 2.

    When the DSA is stopped, its datastore is not updated while you extract the data from it.

    Important! Any multiwrite queues in this DSA are deleted, so check these queues before you stop it. You may need to use the command forcestop. If do this, you will lose data.

  4. Copy the datastore files from DSA 2 to DSA 3.
  5. Make sure that DSA 2 and DSA 3 each have the No Service While Recovering setting set to true. By default, DXmanager sets this setting to true. You can also set this using the no-service-while-recovering DSA flag in the knowledge file.
  6. Restart DSA 2 and DSA 3.

More information:

How to Stop a DSA