Submit a ticketCall us

Get a crash course on Network Monitoring delivered right to your inbox
This free 7-day email course provides a primer to the philosophy, theory, and fundamental concepts involved in IT monitoring. Lessons will explain not only how to perform various monitoring tasks, but why and when you should use them. Sign up now.

Home > Success Center > Database Performance Analyzer (DPA) > Instance monitor stops due to a duplicate key object on the CONSPA table

Instance monitor stops due to a duplicate key object on the CONSPA table

Updated July 24, 2017

Overview

The following error is displayed after an instance stops monitoring in DPA:

Duplicate Key in object 'ignite.CONSPA_X'. The duplicate key value is ('XXXXXXX, Y)

Environment

All DPA versions

Cause 

DPA uses the CONSPT table to determine if there are any records of the plan. If it is not found in the table, it is flagged for insertion.

Resolution

The results of the following query return records that already have plan data in CONSPH and CONSPA, which indicates what DPA is trying to insert as duplicate keys.

  1. Create a backup of your DPA repository.
  2. Run the following statement to determine if there are any records with plan data in CONSPH or CONSPA. Replace <X> with the instance ID that has the issue in COND.
    select a.PLAN_HASH_VALUE, h.PLAN_HASH_VALUE as 'CONSPH', p.PLAN_HASH_VALUE as 'CONSPT'
    from conspa_<X> a
    left outer join consph_<X> h on h.PLAN_HASH_VALUE = a.PLAN_HASH_VALUE
    left outer join conspt_<X> p on p.PLAN_HASH_VALUE = a.PLAN_HASH_VALUE
    where p.PLAN_HASH_VALUE is null
    or p.PLAN_HASH_VALUE is null
  3. The above query should return 0 rows
  4. If any rows are returned, run the following query to delete them, replacing <X> with the instance ID:
    delete from CONSPH_<X>
    where PLAN_HASH_VALUE IN
    (
    select a.PLAN_HASH_VALUE
    from CONSPA_<X> a
    left outer join CONSPH_<X> h on h.PLAN_HASH_VALUE = a.PLAN_HASH_VALUE
    left outer join CONSPT_<X> p on p.PLAN_HASH_VALUE = a.PLAN_HASH_VALUE
    where p.PLAN_HASH_VALUE is null
    or p.PLAN_HASH_VALUE is null
    )
    delete from CONSPA_<X>
    where PLAN_HASH_VALUE IN
    (
    select a.PLAN_HASH_VALUE
    from CONSPA_<X> a
    left outer join CONSPH_<X> h on h.PLAN_HASH_VALUE = a.PLAN_HASH_VALUE
    left outer join CONSPT_<X> p on p.PLAN_HASH_VALUE = a.PLAN_HASH_VALUE
    where p.PLAN_HASH_VALUE is null
    or p.PLAN_HASH_VALUE is null
    )
  5. Restart DPA and the Ignite PI Server service.
 

 

Last modified
15:54, 17 Aug 2017

Tags

Classifications

Public