Submit a ticketCall us

Training ClassThe Orion® Platform Instructor-led Classes

Provided by SolarWinds® Academy, these trainings will introduce users to the Orion Platform and its features, management, and navigation. These courses are suitable for users looking to discover new tips, tricks, and ways to adapt their Orion products to better suit their monitoring needs:
Deploying the Orion Platform
Configuring Orion views, maps, and accounts
Configuring Orion alerts and reports

Reserve your seat.

Home > Success Center > Database Performance Analyzer (DPA) > DPA - Knowledgebase Articles > 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 h.PLAN_HASH_VALUE is null
        or p.PLAN_HASH_VALUE is null
    ;
    

    To copy the query, move your mouse over it and click the View Source icon in the upper-right corner.

    The query above should return 0 rows.

  3. 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 h.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 h.PLAN_HASH_VALUE is null
        or p.PLAN_HASH_VALUE is null
    )
    ;
    
  4. Restart DPA and the Ignite PI Server service.
 

 

Last modified

Tags

Classifications

Public