Run the following query:
SELECT INDNAME, INDSCHEMA
FROM SYSCAT.INDEXES
WHERE IID = <index-id>
AND TABSCHEMA = 'schema'
AND TABNAME = 'table'
Use the appropriate values for schema and table for your error.
This will tell you which index is causing the duplicate error. Then
chack your data closely to locate the duplicates. If you are having problems
finding the duplicates, load the data into an identical table without any constraints (no PK, indexes, and constraints). Then run a query on that table like: SELECT indcol1,indcol2,...,indcoln,count(*) as qty from newtable group by indcol1,indcol2,...,indcoln order by qty
where indcol1,indcol2,...,indcoln are all the columns that comprise the index of the first query. This will give you the count of duplicate values of the index (where qty > 1).
HTH
Andy