PingDirectory

Replacing the data for a replicating domain

About this task

In case the data for the entire replication domain, such as the backend, needs to be replaced, perform the following steps:

Steps

  1. With all servers online, run dsreplication pre-external-initialization against any server in the topology.

    Example:

    $ bin/dsreplication pre-external-initialization --hostname austin01.example.com \
       --port 1389 --baseDN dc=example,dc=com --adminUID admin \
       --adminPassword password --no-prompt

    Result:

    Replication is stopped for the domain. No writes are made by clients to any of the servers.

  2. To replace the data for dc=example,dc=com, use import-ldif.

    1. (Optional) To overwrite the existing data for the domain, use the --overwriteExistingEntries option.

    2. (Optional) To ensure that the input LDIF is free of any replication attributes, use the --excludeReplication option.

      Example:

      In this example, you perform the import-ldif with the server offline using the --excludeReplication and --overwriteExistingEntries options.

      $ bin/import-ldif --ldifFile new-data.ldif --backendID userRoot --excludeReplication --overwriteExistingEntries
  3. To initialize the other servers in the topology, run dsreplication initialize using the server that has the new data as the source host.

    Example:

    $ bin/dsreplication initialize --hostSource austin01.example.com --portSource 1389 \
       --hostDestination budapest01.example.com --portDestination 1389 \
       --adminUID admin --adminPassword password --baseDN dc=example,dc=com \
       --no-prompt
  4. From any server in the topology, run dsreplication post-external-initialization once.

    All servers in the topology must be online.

    Example:

    $ bin/dsreplication post-external-initialization --hostname austin01.example.com \
       --port 1389 --baseDN dc=example,dc=com --adminUID admin \
       --adminPassword password --no-prompt