How to Modify Composite Indexes

A composite index contains multiple key columns. You can invoke the modifyCompositeIndexes JMX method to add or remove the CMDB_ID column as a key column in the indexes for the specified class. The method then modifies the indexes according to the specified parameters.

Note  

  • This method only works for a Microsoft SQL or Oracle database.
  • When you perform a fresh install of the UCMDB 10.30 (or later), by default there are no composite indexes with the CMDB_ID as a key column on Oracle database (ROOT tables), and on Microsoft SQL databases (ROOT and CDM tables). To create the composite indexes with the CMDB_ID as a key column, follow the steps described in this procedure.

It is highly recommended that you follow these best practices for running the modifyCompositeIndexes method:

  • Run the method when the probes are stopped and the database is not heavily used.
  • Create a schema dump before running the method.
  • For environments that execute heavy data-in operations, in order to speed up the INSERT statements, it is recommended to transform the database from composite index to non composite index by invoking the modifyCompositeIndexes method with composite indexes setting to false.

To modify composite indexes:

  1. On the UCMDB server, launch the Web browser and enter the following address: https://localhost:8443/jmx-console

    You may have to log in with a user name and password.

  2. Locate UCMDB:service=Dal Services and click the link to open the JMX MBean View, and then locate the modifyCompositeIndexes method.

  3. Specify the following parameters of the method:

    • customerId: Specify the Customer ID (leave empty for the default customer)
    • class name: Specify the class name (allowed values are root and all)
    • composite indexes: Specify if the method rebuilds the indexes with CMDB_ID as a key column

      • True: CMDB_ID is a key column
      • False: CMDB_ID is not a key column
  4. Click Invoke.

Note If any problem occurs, the operation rolls back and causes no change in the database.