Verifying your data model
The cmdbdiag is a command-line tool, which is located in the cmdb\server64 directory of your BMC Helix CMDB installation. This tool enables you to check for any invalid data in BMC Helix CMDB and helps correct it.
About the Data Integrity Checker option
The Data Integrity Checker validates BMC Helix CMDB for the various issues based on the menu option you select. If Data Integrity Checker finds invalid data, it creates a report that contains information about the invalid relationship instances and datasets.
To start the cmdbdiag program
When you start cmdbdiag, provide your Remedy Action Request System logon credentials for the computer hosting BMC Helix CMDB.
- Navigate to the appropriate location where you copied the cmdbdiag program and perform the following step:
- On Windows, double-click cmdbdiag.exe.
- On UNIX, type cmdbdiag.
- On the initial screen for the cmdbdiag program, log on to the AR System server. The cmdbdiag tool Main Menu appears.
To troubleshoot invalid relationships
Check for invalid relationships — relationship instances that point to nonexistent Configuration Item (CI) instances or relationships that contain incorrect endpoint information, such as incorrect dataset ID or class ID.
- Start the cmdbdiag program.
- At the Main Menu prompt, type 1.
- At the Data Integrity Checker prompt, type 1.
- At the All datasets [y, n] prompt, perform the appropriate action:
- To view invalid relationships for all datasets, type y.
- To view invalid relationships for a specific dataset, press Enter and provide a dataset ID.
- Enter a name for the output file, or press Enter to accept the default file name.
If you enter a file name manually, specify an absolute path for the file, for example, C:\DIC_Invalid_Relationships.txt. If the file name is not specified correctly, the tool saves the report file in the same directory as the cmdbdiag tool.
To troubleshoot invalid dataset IDs
Check for invalid dataset IDs — Incorrect dataset IDs specified for CI and relationship instances. A dataset ID might be incorrect if it refers to:
- A nonexisting dataset
- Contains a value of 0 or NULL
- Start the cmdbdiag program.
- At the Main Menu prompt, type 1.
- At the Data Integrity Checker prompt, type 2.
- Specify a name for the output file or press Enter to accept the default file name.
If you manually enter a name, you must specify an absolute path for the file, for example: C:\dataset_ids.txt. If the file name is not specified correctly, the program saves the report file in the same directory as the cmdbdiag program.
To troubleshoot invalid CI relationships
Check for relationship cardinality issues — Violated relationship cardinality causes invalid relationships. This might occur when a relationship between CI classes does not fall into one of the following categories:
(invalid relationships that are caused by a violated relationship cardinality, which occurs when a relationship between CI classes does not fall into one of the following categories:)
- One to one
- One to many
- Many to one
Perform the following steps to resolve this issue:
- Start the cmdbdiag program.
- At the Data Integrity Checker prompt, type 3.
- At the All datasets [y, n] prompt, perform the appropriate action:
- To check for relationship cardinality issues for all datasets, type y.
- To check for relationship cardinality issues for a specific dataset, press Enter and provide a dataset ID.
- Specify a name for the output file or press Enter to accept the default file name, test_cardinality.txt.
If you manually enter a name, you must specify an absolute path for the file, for example: C:\DIC_Cardinality.txt. If the file name is not specified correctly, the program saves the report file in the same directory as the cmdbdiag program. - To exit the Data Integrity Checker option, type 4.
To manually verify your data model
Perform the following steps to verify that the class definitions in your data model are correct.
- Run the cmdbdiag tool and enter the log on credentials.
If you are able to log on, it means that the CMDB is responding to CMDB API calls. Alternatively, run the Health Check from the Maintenance Tool. - Examine the arerror.log and cmdbengdebug.log files for any errors about starting the cmdbEngine.
Search for the string cmdbEngine to find errors. When cmdbEngine is started, it validates the class definitions. The following example shows the error message that you might view in arerror.log:
Mon Dec 11 16:10:18 2006 390600 : The specified super class with given classId is not found. : Class ID: OB005056C00008PlV3RQU3oZAAHO8C, Super Class ID: OB005056C00008F1V3RQd#IYAAD90C (ARERR 120132)
For more information about arerror.log, see AR System server logging. For more information about cmdbengdebug.log, see Contents-of-the-logs. - Run the cdmchecker command line executable in the same directory as cmdbdriver, with the -g parameter.