NCIM entity ID retrieval failure

If a discovery event appears in the Event Viewer with the description "The retrieval of an entity ID from NCIM for a certain entity failed", then the NCIM database might be down. This will cause a mismatch between the entity IDs in NCIM and in the embedded discovery database DNCIM; that is, NCIM and DNCIM will have a different set of entity IDs for the same network entities.

If the NCIM database is down for any reason while the RetrieveNCIMEntityId stitcher is running, then there will be a mismatch between the entity IDs in NCIM and DNCIM. It is not essential for the entity IDs in DNCIM and NCIM to match; however, in the event of discovery fault resolution, it is helpful if the entity IDs are consistent across the databases.
If there is a mismatch between the entity IDs inNCIM and DNCIM then you can make sure that the databases are aligned for the next discovery by doing one of the following:
  • Refresh the DNCIM database prior to the next discovery
  • Log into your running discovery DNCIM database and delete all the records in entityNameCache for your domain
Note: If your NCIM topology database is shared between multiple domains then the chance of the DNCIM and NCIM entity IDs becoming mismatched is much higher.

Refresh the DNCIM database prior to the next discovery

Refresh the DNCIM database only if the Discovery engine, ncp_disco, is not running.
Refresh the DNCIM database by deleting the following directory and everything in it. The DNCIM database stores all the database files in this directory:
$NCHOME/precision/embeddedDb/sqlite/processName.domain
Where:
  • processName is the name of the Network Manager process that is using DNCIM. In this case, this is the name of the Discovery engine, ncp_disco.
  • domain is the name of the current domain.
For example, if the name of the current domain is NCOMS, then the database files are located here:
$NCHOME/precision/embeddedDb/sqlite/ncp_disco.NCOMS
Note: This will result in a small delay to the next discovery because the DNCIM database must be rebuilt.

Log into the DNCIM database and delete all records in entityNameCache for your domain

Provided that the discovery is in the static state (phase 0) it is safe to alter the discovery DNCIM database. Proceed as follows:
  1. Check that the Discovery engine, ncp_disco, is running and that discovery is in phase 0 by running the following query. If this query returns the value 0, then the discovery is in phase 0.
    select m_Phase from disco.status
  2. Issue the following OQL command to access the DNCIM database:
    ncp_oql -domain domain_name -service DNCIM
    Where domain_name is the name of the current network domain.
  3. Issue the following command to delete all the records in entityNameCache:
    DELETE FROM entityNameCache
    Note: For a large database, the delete operation can take a long time.