This documentation supports the 9.1 to 9.1 Service Pack 3 version and its patches of BMC Atrium Core. The documentation for version 9.1.04 and its patches is available here.

To view the latest version, select the version from the Product version menu.

CMDB Indexes

This topic lists the out-of-the-box CMDB indexes that should always exist. If any index listed on this page is missing, it may lead to performance issues. To resolve any performance issue that may occur due to the missing index, you must add the missing index in the system.

List of out-of-the-box Indexes.

The following table displays the out-of-the-box indexes that must always exist in your system. 

BMC.CORE:BMC_BaseElement BMC.CORE:BMC_BaseRelationship
179 179
400079600 400079600
400131300 400131300
400127400,400129200,400129100,1 400127400,400129200,400129100,1
400131200 400131200
530060100,6,400129100,400129200 530060100,6,400129100,400129200

530060100,6,400129200

530060100,6,400129200
400129200,400129100 400129200,400129100
240001002 400131000,400130900
530060200,400127400 490008000,490009100

530010100,400127400

490009000,490008100
  530060100,6,400127400,400129200
  490008000,490008100,1 
  490009000,490009100,1
  179,400129200,400079600,490009000,490008000,1
  400129200,490008000
  490008100,400128800
  400127400, 530060400, 530060500
  400130900

Steps to add missing indexes

Note

The following steps pertain to adding system indexes only. To add or edit custom indexes, refer Specifying class indexes from the Class Manager.

  1. Open BMC Remedy Developer Studio and log in.
  2. From the AR System Navigator tab, expand the source server and under All Objects select Forms.
  3. In the forms window, double-click the BMC.CORE:BMC_BaseElement to open it.
  4. Select the Definitions tab.
  5. In the Definitions tab, click the Indexes panel.
  6. Click New.
  7. Select the new index.
    1. To add fields to the index, click Add and complete the Field Selector dialog box for each field.
      • You can combine multiple fields into a composite index.
      • You can enter as many as 16 fields.
      • You should add the fields in the order you want them indexed, or you can use the Up and Down buttons to put them in the correct order.
      • Each indexed field must be less than or equal to 255 characters, but the composite Index can have a total length greater than 255.
      • You can use the Remove and Remove All buttons to remove fields form the index.
  8. Save the form.

Repeat the above steps for the BMC.CORE:BMC_BaseRelationship form to add the missing indexes.

Was this page helpful? Yes No Submitting... Thank you

Comments

  1. Thomas Hammer

    Are you sure that this is the right way?

    As far as I remember all best practice rules I've heard in training sessions, the class manager has to be used to bring the index to the CDM meta data and not to the forms only.

     

    Mar 01, 2016 07:38
    1. Kamalakannan Srinivasan

      Hi Thomas,

      Thank you for your comment. I will discuss with the technical team and keep you informed.

      Regards,

      Kamal

      Mar 02, 2016 02:23
  2. Johannes Buverud

    I believe Thomas Hammer is correct. The correct way to make changes to CMDB classes is to do it with the Class Manager. If you do it with Developer Studio, those changes will be overwritten when somebody do anything with those classes with Class Manager.

     

    Another thing: Is the list of indexes on BMC_Relationship correct?

    "400127400,400129200,400129100,1" is listed twice, and there are also other differences compared to what we have in our system.

    Mar 08, 2016 07:41
    1. Kamalakannan Srinivasan

      Hi Johannes,

      Thank you for your comment. I will discuss with the technical team and keep you informed.

      Regards,

      Kamal

      Mar 08, 2016 10:50
  3. Francois Seegers

    Hi Kamal,

    If the above process is to be followed then the step to create an overlay is also missing but do agree with Thomas this is not what BMC themselves teach to be followed.

    Regards
    Francois

     

    Mar 09, 2016 01:41
    1. Johannes Buverud

      And remember:

      “Forms owned by the BMC AtriumCore CMDB application should never be overlaid, customized or otherwise altered outside of the CMDB Class Manager. AR Developer Studio does not have any role in managing CMDB data structures and its use to modify and overlay CMDB schemas can have and does have severe impact on functionality of the CMDB and can lead to data loss.“

      https://communities.bmc.com/community/bmcdn/bmc_atrium_and_foundation_technologies/bmc_atrium_cmdb/blog/2015/11/24/the-pulse-ar-overlays-and-the-cmdb-granular-details-on-why-you-should-not-overlay-the-bmccore-forms

       

      Mar 09, 2016 02:42
      1. Kamalakannan Srinivasan

        Hi Johannes,

        Thank you for your comment. I will discuss with the technical team and keep you informed.

        Regards,

        Kamal

        Mar 10, 2016 12:00
    1. Kamalakannan Srinivasan

      Hi Francois,

      Thank you for your comment. I will discuss with the technical team and keep you informed.

      Regards,
      Kamal

      Mar 09, 2016 11:58
  4. Kamalakannan Srinivasan

    Hi Francois SeegersJohannes Buverud, Thomas Hammer,

    This topic is intended for editing system indexes. These indexes can be edited only through the developer studio.

    Note that when you add /edit custom indexes, you must do them only through the class manager. Refer https://docs.bmc.com/docs/display/public/ac91/Specifying+class+indexes+from+the+Class+Manager.

    I have also made the necessary corrections to the indexes in this topic.

    Regards,

    Kamal

     

    Mar 15, 2016 07:19
    1. Johannes Buverud

      Hi Kamalakannan Srinivasan,

      I can add indexes on BMC.CORE:BMC_BaseElement with Developer Studio in either in Best Practice Mode or in Base Development Mode, but no matter which of these modes I chose these indexes disappears as soon as I adds other indexes with Class Manager afterwards. I have verified this in my 9.1 environment checking both in Developer Studio and with sql.

      What am I missing?

       

      (Btw: In Best Practice Mode I have to create an overlay which is not supported by BMC on CMDB classes.

      Using Base Development Mode is also not recommended because changes might be lost during an upgrade.)

      Mar 16, 2016 03:35
      1. Kamalakannan Srinivasan

        Hi Johannes,

        Thank you for your comment. I will discuss with the technical team and keep you informed.

        Regards,

        Kamal

         

        Mar 16, 2016 03:40
  5. Carey Walker

    Any chance of getting the field names included here as well for quick reference? Some of these field names are easily recognised but not all (for simple folks like me). Being able to quickly see if a given field is a useful part of an index without have to do schema lookups would be helpful, particularly for new users.

    Mar 15, 2016 04:47
    1. Kamalakannan Srinivasan

      Hi Carey,

      Thank you for your comment. I will discuss with the technical team and keep you informed.

      Regards,

      Kamal

      Mar 16, 2016 01:53
  6. Doug Blair

    So, just to be clear.... the OOB indexes listed at the top of this page are "system" indexes (according to Kamal, above), and must be maintained/created/edited using developer studio in base development mode to avoid creating overlays. Any additional indexes you want are "custom" indexes and should be maintained/created/edited only through the index panel in the CMDB class manager?  Johannes report sounds like a bug....

     

    Doug

    Jul 06, 2016 08:53
    1. Anagha Deshpande

      Hello Doug,

      I will discuss this with SME and will update you soon.

       

      Regards,

      Anagha 

      Jul 06, 2016 11:27
      1. Anagha Deshpande

        Hello Doug,

        Please confirm where do you want to  create a custom index? Do you want to create it on the base element, base relationship classes or you want to create it on other child classes?

         

        Regards,

        Anagha

        Jul 07, 2016 06:05
  7. Peter Ekendahl

    Hi,

    I was linked to this page after running the Atrium CMDB 9.1 installer. The installer result page gave the following warning on an ootb system: "Warning received during index verification. Please refer to the BMC Atrium CMDB index verification online documentation" and a link to this page. The missing indexes were the following:

    LOG EVENT {Description=[verifyIndexInForm],Detail=[Index [BMC.CORE:BMC_BaseRelationship->530060100,6,400127400,400129200] is not present]}

    LOG EVENT {Description=[verifyIndexInForm],Detail=[Index [BMC.CORE:BMC_BaseRelationship->530060100,6,400129200] is not present]}

    LOG EVENT {Description=[verifyIndexInForm],Detail=[Index [BMC.CORE:BMC_BaseElement->530060100,6,400129200] is not present]}

    This page (together with above comments) does not give a clear picture on how to create these indexes and seems not to have been updated for some time.... What of the following should be correct?:

    1. Create the indexes in Best Practice mode (I think not...?)
    2. Create the indexes in Base Development mode
    3. Create the indexes in Class Manager
    Sep 12, 2016 08:30
    1. Gustavo Del gerbo

      Hi Peter,

      You should create the missing system indexes using the Developer Studio in Base Development mode.

      Sep 12, 2016 01:15
  8. Carey Walker

    I think some explanation/comment is need here for the people who have been contributing to this topic, and perhaps should be added to the docs please??

     

    1. When the CMDB is installed, a number of indexes are created on BaseElement and BaseRelationship. These are verified as built by the installer and also I think by the health checker for the CMDB. If missing, they need to be created to avoid potential performance issues. These pre-installed indexes are considered as 'system' or OOTB indexes and are not viewed as 'custom' indexes added by a customer as part of their ongoing tuning of the CMDB environment. As such, if missing, they should be added through Dev Studio, in Base Development mode as Gustavo advised. Dev Studio because they are system indexes and not part of the user defined indexes that should be added via Class Manager. Base Development mode because you don't overlay the CMDB forms. The issue of not using Base Development mode because you might lose changes in an upgrade, is not relevant here because these are 'system' indexes which the upgrade installer will maintain/manage.
    2. Could we please (as already requested) provide the field names as well as the field ids in the table above?
    3. Any index created via Class Manager should still be visible in Dev Studio under the Definitions tab. Dev Studio should show a combination of the 'system' indexes AND any 'custom' indexes added via Class Manager. Class Manager however, will only list the indexes IT created (i.e. the 'custom' defined indexes).
    4. Before adding a custom index, you should always check in Dev Studio to see the full list of current indexes for the form, and confirm that a similar index is not already there. Don't rely only on what you see in Class Manager (for the reasons explained above).
    5. Remember that if an index exists with field A and field B, there is no point in adding an index with just field A. 
    6. From Joahnnes' comments above, seems the table has errors that need correcting (duplicate field ids?) and that there is a bug maybe in the indexing functions in Dev Studio?

     

    Sep 17, 2016 12:05
    1. Amol Redij

      Hi Carey,

      Thank you for your comment.

      I have made a note of the points you gave. I shall work on this and keep you updated.

      Regards,

      Amol

      Sep 19, 2016 02:00
    1. Thomas Hammer

      Hi Carey,

      your topic 5: Please see https://communities.bmc.com/ideas/6955

      This behavior has been verified and validated. Combined indexes do not always work the way people expect them to do. We had to add several ones as a single index which had already been part of a combined one. And yes, we always had to use the class manager.

      If the (above) so called "system indexes" are missing, BMC has to find a way to fix them permanently without the need to use the developer studio in base mode. This can only be a short-term work around. What will happen at installation time of the next upgrade or patch or service pack, if they have been added by the developer studio without a fix provided by BMC? They will get lost and you have to do the whole work again. I still prefer to add them by using the class manager to be sure that they will be available.

      Hopefully no one will answer, that this will cause an issue at the next upgrade, if BMC provided the index I'd already added.

      Isn't this page some sort of "confession of failure" to ask users to fix "system indexes"?

      Dec 24, 2016 09:06
      1. Carey Walker

        Hi Thomas

        I think my intended comment and the article you mention above are supposed to say the same thing. I need to reword my part I think.

        I meant to explain that if you already have a composite index made up of field A + field B, there is no value in creating a new index with just field A. Queries using just field A in a where clause should be able to take advantage of the A + B index already. If the query uses just field B in a where clause, then yes, the composite A + B index won't help and you will need to create another index with just field B. and so on ......

        Also, in the example above where you need just the field B index, and assuming field B is not one of those listed as 'OOTB', then adding via class manager is the right way to do it.

        Hope we are now on the same page. (smile)

        As far as the "confession of failure" is concerned, I agree that some sort of root cause for the sometimes missing indexes is important, but equally, I am pleased the BMC docs call out the list of intended OOTB indexes rather than keep it a dark secret, so that customers investigating performance issues can at least determine if they are simply missing an intended index, or are facing a specific tuning requirement.

        The reason I asked for better explanations of all of this in my original feedback, was that as it stood, the docs didn't do a good job of explaining the OOTB indexes, when to use Dev Studio and when to use Class Manager. Hopefully this is now getting cleaned up.

        Dec 27, 2016 04:50
  9. Brian Gillock

    The last line of the instructions should read, BMC.CORE:BMC_BaseRelationship, not, BMC.CORE:BMC_BMC_BaseRelationship.


    Thank you.

    Oct 20, 2016 02:42
    1. Amol Redij

      Hi Brian,

      Thanks for bringing that to our notice.

      We have updated the topic accordingly.

      Regards,

      Amol

      Oct 21, 2016 12:49
  10. Nick Caulfield

    Is there a best practice in terms of a number of indexes on a class after which adding more may no longer improve performance? It looks like there are 19 on base relationship out of the box already. In the long distant past, there was a recommendation not to have more than 5 or 6 on an AR form but I can't find recent references to this so presume it's no longer current. Asking the internet generally seems to say that each one adds an overhead but to carry on as long as it seems to help thanks

    Feb 13, 2018 06:02
    1. Gustavo Del gerbo

      Hi Nick,

      There is no limitation except DB limitation. Back then DB were more strict with indexes, but nowadays they can take many more without any impact in performance. Best option is to always check with the DBA.

      Feb 14, 2018 10:08
  11. Thad Esser

    The banner at the top of this page reads: "This space contains documentation for version 9.1 to 9.1 Service Pack 3 and its patches. The documentation for version 9.1.04 and its patches is available here. "

    Which leads me to think that the OOTB CMDB indexes have changed in some way for 9.1.04. However the link is to a generic page, not the 9.1.04 equivalent of this page. I was unsuccessful in finding a page that lists the 9.1.04 OOTB CMDB Indexes. Have the indexes changed for 9.1.04?

    Thanks,

    Apr 18, 2018 06:15
    1. Brian Gillock

      Thank you, Thad. I have expressed disappointment with switching versions and not finding the "matching" page for that version. Frustrating...

      Nov 21, 2018 03:32
      1. Maithili Deshpande

        Hi Thad, Brian,

        Thank you for your comment. Will speak to the SME and respond at the earliest.

        Regards, Maithili

        Nov 29, 2018 11:22
    1. Maithili Deshpande

      Hi Thad,

      We do not have an equivalent topic in the other versions yet as we are working on it. So the link will take you to the Home Page of Atrium Core 9.1.

      In the meanwhile, please let me know if you are looking for anything specific and if you do not find the Atrium Core 9.1 page helpful.

      Regards, Maithili

      Mar 18, 2019 03:12