How do I reset the cn=changelog changeNumber in DS (All versions)?
The purpose of this article is to provide assistance if you need to reset the cn=changelog changeNumber in DS. You only need to reset a changeNumber if one becomes out of sync across multiple DS servers.
Warning
Do not compress, tamper with, or otherwise alter changelog database files directly unless specifically instructed to do so by a qualified ForgeRock technical support engineer. External changes to changelog database files can render them unusable by the server. By default, changelog database files are located under the /path/to/ds/changelogDb directory.
Resetting the changeNumber (DS 7.1 and later)
You can reset the changeNumber on one server with the changeNumber from another using a dsrepl command such as the following:
$ ./dsrepl reset-change-number --sourceHostname ds1.example.com --sourcePort 4444 --sourceBindDn uid=admin --sourceBindPassword password --targetHostname ds2.example.com --targetPort 4444 --targetBindDn uid=admin --targetBindPasswordPassword password --trustStorePath /path/to/ds/config/keystore --trustStorePassword:file /path/to/ds/config/keystore.pin --no-promptAlternatively, you can set the changeNumber to an exact number if needed, for example:
$ ./dsrepl reset-change-number --sourceHostname ds1.example.com --sourcePort 4444 --sourceBindDn uid=admin --sourceBindPassword password --targetHostname ds2.example.com --targetPort 4444 --targetBindDn uid=admin --targetBindPasswordPassword password --change-number 1234 --trustStorePath /path/to/ds/config/keystore --trustStorePassword:file /path/to/ds/config/keystore.pin --no-promptSee dsrepl reset-change-number and changeNumber for further information.
Resetting the changeNumber (DS 7)
You can reset the changeNumber on one server with the changeNumber from another using a dsrepl command such as the following:
$ ./dsrepl reset-change-number --sourceHostname ds1.example.com --sourcePort 4444 --sourceBindDn uid=admin --sourceBindPassword password --targetHostname ds2.example.com --targetPort 4444 --targetBindDn uid=admin --targetBindPasswordPassword password --trustStorePath /path/to/ds/config/keystore --trustStorePasswordFile /path/to/ds/config/keystore.pin --no-promptAlternatively, you can set the changeNumber to an exact number if needed, for example:
$ ./dsrepl reset-change-number --sourceHostname ds1.example.com --sourcePort 4444 --sourceBindDn uid=admin --sourceBindPassword password --targetHostname ds2.example.com --targetPort 4444 --targetBindDn uid=admin --targetBindPasswordPassword password --change-number 1234 --trustStorePath /path/to/ds/config/keystore --trustStorePasswordFile /path/to/ds/config/keystore.pin --no-promptSee dsrepl reset-change-number and changeNumber for further information.
Resetting the changeNumber (Pre-DS 7)
You can reset the changeNumber on one server with the changeNumber from another using a dsreplication command such as the following:
$ ./dsreplication reset-change-number --adminUID admin --adminPassword password --hostSource ds1.example.com --portSource 4444 --hostDestination ds2.example.com --portDestination 4444 --trustAll --no-promptAlternatively, you can set the changeNumber to an exact number if needed, for example:
$ ./dsreplication reset-change-number --adminUID admin --adminPassword password --hostSource ds1.example.com --portSource 4444 --hostDestination ds2.example.com --portDestination 4444 --change-number 1234 --trustAll --no-promptSee dsreplication reset-change-number for further information.
See Also
How do I control how long replication changes are retained in DS (All versions)?
Related Training
N/A
Related Issue Tracker IDs
N/A