Duplicate CIs even when values of Serial Number, HostName, and Domain match, Oracle database.

Solution:

The identification rules used in Topology Discovery 1.4 and Configuration Management Configuration Discovery Integration for CMDB 7.1.1 use qualifications such as the following:

(‘SerialNumber’ = $SerialNumber$ AND ‘HostName’ = $HostName$ AND’Domain’ = $Domain$)

AND ( ‘SerialNumber’ != $\NULL$ AND ‘HostName’ != $\NULL$ AND ‘Domain’ != $\NULL$)

AND ( ‘SerialNumber’ != “” AND’HostName’ != “” AND’Domain’ != “”)

where the three meta-clauses are:

<attributes match>

AND <attributes are not NULL>

AND <attributes are not empty string>

On a SQL Server database, the third clause is required since NULL and empty-string are two different values at the database, and the qualification needs to check for both values to ensure the attribute value is suitable for using for identification. So the qualifications are correct if the AR Server is using any database other than Oracle.

On an Oracle database, the empty string is the same as NULL. This means the second meta-clause above is sufficient to check for both conditions. It also means the third meta-clause will always return a FALSE result, since

!= NULL

will always return a result of FALSE. (It is improper syntax for checking for NULL)

Workaround:

If the database used by ARSystem/CMDB is Oracle, the workaround is to update the Identification rules to remove the clauses which check for Empty String. For example, in the qualication above, it would remove the third meta-clause:
AND ( ‘SerialNumber’ != “” AND ‘HostName’ != “” AND ‘Domain’ != “”)

————————

Though this problem with Reconciliation can occur with other Reconciliation Jobs, the two Jobs where it has been identified are:

Configuration Discovery Reconciliation Process

BMC Topology Import – Identification, Merge, and Purge

Defects have been submitted to correct these issues in a future version of Topology Discovery and Configuration Management Configuration Discovery Integration for CMDB products:

SW00277889 Defect against CDI

QM001535938 Defect against Topology Discovery

Defect SW00294045 has been logged against AR System, indicating it should provide a way to search for (NULL OR Emptry String) in a way that will work for all databases.

 

Comments are closed.