This document contains official content from the BMC Software Knowledge Base. It is automatically updated when the knowledge article is modified.
TrueSight Capacity Optimization
TrueSight Capacity Optimization Capacity Optimization
In theory the error can be error can generated by any ETL and means that an hierarchy object required for the insert is missing.
ORA-02291: integrity constraint (************) violated - parent key not found
To understand more about the error it is recommended to log to the ETL generated the error , to understand the Type of the ETL and to check import log files and CSV files, and bad files.
Examples messages are blow, to the see only the output files in an ETL Log in the TrueSight Capacity Optimization Console Filter out the Type of the messages to OUTPUT.
> FAILED BCO_ETL_ERR117: Loader - dataset OBJREL - [ORA-02291] count: 4 > FAILED Load completed with exit code 2. Check /opt/bmc/cpit/etl/output/OBJRELQBOC159156.ctl.log for additional details. Rejected samples are stored in /opt/bmc/cpit/etl/output/OBJRELQBOC159156.bad file. > OUTPUT [OracleCTLL] /opt/bmc/cpit/etl/output/OBJRELQBOC159156.ctl;/opt/bmc/cpit/etl/output/OBJRELQBOC159156.ctl.log;/opt/bmc/cpit/etl/output/OBJRELQBOC159156.bad
The Solution depends on the type of the ETL
- If this is the OBREL ETL, or a custom ETL the hierarchy to import is not complete, there is a child parent relation missing, TrueSight Capacity Optimization tries to import a object but this fails because a parent is missing. It is required to research the output files to understand what is missing and to change the custom ETL or OBJREL ETL to import the complete hierarchy.
- If this error did happen with the vCenter ETL it could be related with a Reconcile or Auto Reconcile of Duplicates run when the ETL has imported the metrics. The following actions in vCenter could cause this VMs detected as duplicates which can be reconciled.
- VM is moved cross vCenters
- VMs are cloned, or backup are taken.
- Multiple offboarding – onboarding on vCenter for the same VM
The vCenter ETL is loading the lookup in memory, when a Reconcile or Auto Reconcile is running this changes the Hierarchy but the ETL is using still the old lookup and the imports of objects go reconciled failed. An improvement was created to improve that situation to not show the error, rather warning and to consider ways to avoid this error related with Reconcile.
Determine first if related with the Reconcile, the Error should be in the ETL around the time when manually Reconcile of the VMware Reconcile System Task did run, consider time difference bet when the EE server running the ETL and the Primary Scheduler, which may not run in the same timezone. If the error does happen frequently it is recommend to check what duplicate systems are detected and analyze the systems which get reconciled, if Auto Reconcile is running it might be worth to stop and check the Detected Duplicates on the vCenter ETL task manually. Because this GUI screen is in better format in any logs.
A typical use case is a backup cloning of VMs, when cloning a VMs as backup this creates a new VM with a new ID. When creating a new clone again this creates again a new ID. TSCO is detecting this cloned VMs as duplicates of other VM and even if the backup VM are not running TSCO is inserting some configuration, but in that scenario for the old clone of the VM which was reconcile to the new clone.
For the cloning scenario the best approach is to exclude the VMs from monitoring, they are not running and the storage consumption is determined over the DataStore, an other approach would be to use Snapshot for backup feature. If the cloned VMs have a specific string like "_backup" or "clone" without the double quote a White List file with an inverted regular expression can be used.
For example create a Whitelist file in the EE server with this content would monitor all VMs except VMs whith the name string _backup.
For more details about White list see the product documentation and search for VCenter ETL and look for Import Fiter.