000030003 - IMG MAEDC collection fails with ORA-20999 Unique Constraint Error

Document created by RSA Customer Support Employee on Jun 14, 2016Last modified by RSA Customer Support Employee on Apr 21, 2017
Version 2Show Document
  • View in full screen mode

Article Content

Article Number000030003
Applies ToRSA Product Set: Identity Management and Governance

RSA Product/Service Type: Appliance

RSA Version/Condition: 6.8.1, 6.9, 6.9.1

Platform: UNIX

Platform (Other): null

O/S Version: RedHat 5u8, SuSE 11sp3

IssueAn IMG MAEDC collection fails with this error noted:
ORA-20999: Database exception: -1 ORA-00001: unique constraint (AVUSER.ECDC_COLLECTION_INDEX_42) violated
Review of the aveksaServer.log shows this error along with stack trace from the Entitlement_Change_collector package: 
(Note that the entire stack trace is not shown here. Typically the first 10-20 lines of the stack trace are enough to specifically identify the problem)

Extract from aveksaServer.log
01/17/2015 08:56:47.793 INFO (Exec Task Consumer#0) [com.aveksa.server.utils.Step] Finished execution step: Generate Application Role Data.. , Time Elapsed=4 secs, Log=[Generated 0 application role records] COMPLETED method=ExecuteStep subTask=end
01/17/2015 08:56:49.903 INFO (Exec Task Consumer#0) [com.aveksa.server.utils.Step] Finished execution step: Process Bad Data.. , Time Elapsed=2 secs, Log=[No bad data records found in the collection.] COMPLETED method=ExecuteStep subTask=end
01/17/2015 08:58:13.339 ERROR (Exec Task Consumer#0) [com.aveksa.server.db.PersistenceManager] Executing Procedure: java.sql.SQLException: ORA-20999: Database exception: -1 ORA-00001: unique constraint (AVUSER.ECDC_COLLECTION_INDEX_42) violated

ORA-00001: unique constraint (AVUSER.ECDC_COLLECTION_INDEX_42) violated
ORA-06512: at "AVUSER.ERROR_HANDLER_PKG", line 903
ORA-06512: at "AVUSER.DATABASE_LOGS2", line 69
ORA-06512: at "AVUSER.DATABASE_LOGS2", line 178
ORA-06512: at "AVUSER.ECDC_LOG", line 63
ORA-06512: at line 1

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:440)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:837)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:445)

at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:191)

at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:523)

at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:204)

at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:1007)

at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1315)

at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3576)

at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3677)

at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4694)

at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1086)


The error results from incorrect internal processing after Entitlements associated with Roles were changed.
Code corrections were made for V6.5.2-P03, but were inadvertently not ported to the 6.8.1 nor 6.9 code streams.
This has been corrected, and the corrected code is available in V6.9.1-P01, 


ResolutionApply patch and re-run collection.  It should now complete without error.
WorkaroundNo workaround available.  
Patched code fix is required.