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.
$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:- 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
- Issue the following OQL command to access the DNCIM
database:
Where domain_name is the name of the current network domain.ncp_oql -domain domain_name -service DNCIM
- 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.