rebuild-index

Description Examples Arguments

Description

Rebuild index data within a backend based on the Berkeley DB Java Edition. Note that this tool uses different approaches to rebuilding indexes based on whether it is running in online mode (as a task) rather than with the server offline. Running in offline mode will often provide significantly better performance and require significantly less database cleaning, particularly for indexes containing keys that match a large number of entries and have high index entry limit and exploded index entry threshold values. Also note that rebuilding an index with the server online will prevent the server from using that index while the rebuild is in progress, so some searches may behave differently while a rebuild is active than when it is not.

An index must be rebuilt if the database already contains data when the index is configured. The backend containing the provided base DN must be a local DB backend. The types of indexes that can be rebuilt include system indexes, attribute indexes, VLV indexes, and JSON field indexes.

This tool features both an offline mode of operation as well as the ability to schedule an operation to run within the Directory Server's process. To schedule an operation supply LDAP connection options that allow this tool to communicate with the server through its task interface. Tasks can be scheduled to run immediately or at a later time (see Task Scheduling Options below). Once scheduled, tasks can be managed using the manage-tasks tool.

Examples

Rebuild the 'sn' attribute index and the vlv index named 'example' within the scope of the base DN 'dc=example,dc=com':

rebuild-index --baseDN dc=example,dc=com --index sn --index vlv.example

Use a task to perform an online rebuild of the 'cn' attribute within the scope of the base DN 'dc=example,dc=com':

rebuild-index --task --hostname directory.example.com --port 389 \
     --bindDN uid=admin,dc=example,dc=com --bindPassword password \
     --baseDN dc=example,dc=com --index cn
For examples and help with LDAP options see LDAP Option Help. For help with SASL authentication, see SASL Option Help

Arguments

-V
--version

Description Display Directory Server version information

-H
--help

Description Display general usage information

--help-ldap

Description Display help for using LDAP options

--help-sasl

Description Display help for using SASL options

--help-debug

Description Display help for using debug options
Advanced Yes

-Z
--useSSL

Description Use SSL for secure communication with the server

-q
--useStartTLS

Description Use StartTLS to secure communication with the server

--useNoSecurity

Description Use no security when communicating with the server

-h {host}
--hostname {host}

Description Directory Server hostname or IP address
Default Value localhost
Required No
Multi-Valued No

-p {port}
--port {port}

Description Directory Server port number
Default Value 389
Required No
Multi-Valued No

-D {bindDN}
--bindDN {bindDN}

Description DN used to bind to the server
Default Value cn=Directory Manager
Required No
Multi-Valued No

-w {bindPassword}
--bindPassword {bindPassword}

Description Password used to bind to the server
Required No
Multi-Valued No

-j {bindPasswordFile}
--bindPasswordFile {bindPasswordFile}

Description Bind password file
Required No
Multi-Valued No

-o {name=value}
--saslOption {name=value}

Description SASL bind options
Required No
Multi-Valued Yes

-X
--trustAll

Description Trust all server SSL certificates

-P {truststorePath}
--trustStorePath {truststorePath}

Description Certificate truststore path
Default Value /home/centos/workspace/Core-Release-Pipeline/build/package/PingDirectory/config/truststore
Required No
Multi-Valued No

-T {truststorePassword}
--trustStorePassword {truststorePassword}

Description Certificate truststore PIN
Required No
Multi-Valued No

-U {path}
--trustStorePasswordFile {path}

Description Certificate truststore PIN file
Required No
Multi-Valued No

--trustStoreFormat {trustStoreFormat}

Description Certificate truststore format
Required No
Multi-Valued No

-K {keystorePath}
--keyStorePath {keystorePath}

Description Certificate keystore path
Required No
Multi-Valued No

-W {keystorePassword}
--keyStorePassword {keystorePassword}

Description Certificate keystore PIN
Required No
Multi-Valued No

-u {keystorePasswordFile}
--keyStorePasswordFile {keystorePasswordFile}

Description Certificate keystore PIN file
Required No
Multi-Valued No

--keyStoreFormat {keyStoreFormat}

Description Certificate keystore format
Required No
Multi-Valued No

-N {nickname}
--certNickname {nickname}

Description Nickname of the certificate for SSL client authentication
Required No
Multi-Valued No

--useAdministrativeSession

Description Attempt to use an administrative session to have operations processed on a dedicated pool of worker threads. This may be useful when trying to diagnose problems in a server that is unresponsive because all normal worker threads are busy processing other requests

--propertiesFilePath {propertiesFilePath}

Description Path to the file that contains default property values used for command-line arguments
Required No
Multi-Valued No

--usePropertiesFile

Description Specify that a properties file will be used to get default command-line argument values

--script-friendly

Description Use script-friendly mode

--task

Description Indicates that this tool should be invoked as a task which runs inside the Directory Server rather than as a separate process. At present, this argument is optional, but in a future release it may be required for running as a task

-t {startTime}
--start {startTime}

Description Indicates the date/time, expressed in format 'YYYYMMDDhhmmss', when the operation starts when scheduled as a server task. A value of '0' causes the task to be scheduled for immediate execution. When this option is specified, the operation is scheduled to start at the specified time, after which this utility will exit immediately
Required No
Multi-Valued No

--startAlert

Description Generate an administrative alert when the task starts running

--successAlert

Description Generate an administrative alert when the task completes successfully

--errorAlert

Description Generate an administrative alert when the task fails to complete successfully

--startNotify {emailAddress}

Description Email address of a recipient to be notified when this task starts running
Required No
Multi-Valued Yes

--completionNotify {emailAddress}

Description Email address of a recipient to be notified when the task completes, regardless of whether it succeeded or failed
Required No
Multi-Valued Yes

--successNotify {emailAddress}

Description Email address of a recipient to be notified when this task completes successfully
Required No
Multi-Valued Yes

--errorNotify {emailAddress}

Description Email address of a recipient to be notified if an error occurs when this task executes
Required No
Multi-Valued Yes

--dependency {taskID}

Description ID of a task upon which this task depends. A task will not start execution until all its dependencies have completed execution
Required No
Multi-Valued Yes

--failedDependencyAction {action}

Description Action this task will take should one of its dependent tasks fail. The value must be one of the following: PROCESS,CANCEL,DISABLE. If not specified, the default value is CANCEL
Required No
Multi-Valued Yes

-Q
--quiet

Description Use quiet mode

-b {baseDN}
--baseDN {baseDN}

Description Base DN of a backend supporting indexing. Rebuild is performed on indexes within the scope of the given base DN
Required Yes
Multi-Valued No

-i {index}
--index {index}

Description Name of index(es) to rebuild. For an attribute index, this is simply an attribute name. At least one index must be specified for rebuild
Required No
Multi-Valued Yes

--bulkRebuild {all|new|untrusted|trusted}

Description Allows bulk rebuilding of all indexes or bulk rebuilding of all indexes in the specified state. Cannot be used remotely on another server, as a task, or while server is online
Required No
Multi-Valued Yes

--maxThreads {numThreads}

Description The number of concurrent threads that should be used when rebuilding indexes. If this is not specified, then it will be automatically determined based on the number of available CPUs
Lower Bound 1
Required No
Multi-Valued No

--logFilePath {logFilePath}

Description Echo the console output to the specified log file, instead of the default '/logs/tools/ds-tool.log' file
Required No
Multi-Valued No