RSA Via Lifecycle and Governance Identity Collection fails during reconciling of deleted accounts with EC[1400] [unknown error code] and logs an ORA-1400 error
4 years ago
Originally Published: 2016-01-28
Article Number
000049853
Applies To
RSA Product Set: RSA Via Lifecycle and Governance (RSA Via L&G)
RSA Version/Condition: 7.0, 7.0 P01

 
Issue
The RSA Via Lifecycle and Governance (RSA Via L&G) Identity Collection fails during reconciling of deleted accounts with EC[1400] [unknown error code] displayed, as in the screen shot below:
 
User-added image

The following event is logged in the aveksaServer.log file, located in /home/oracle/wildfly-8.2.0.Final/standalone/log/aveksaServer.log:

Population, 2234 01/06/2016 10:50:58.064 INFO (Exec Task Consumer#0) [com.aveksa.server.xfw.UnificationExecutor] Failed method=Process subTask=CompleteMergeTasks Default User
com.aveksa.server.db.PersistenceException: java.sql.SQLException: ORA-01400: cannot insert NULL into ("AVUSER"."GTT_CE_RELATIONS"."SRCPK_ID") 

Cause
The problem occurs in Via L&G 7.0 GA version if you manually map an account to a user, then subsequently delete the user.  The problem presents itself when the next identity collection occurs.  This issue was corrected in RSA Via L&G 7.0 P01 where we change the index used to map the accounts to the users.  

This issue should not occur if the customer installs RSA Via L&G 7.0 P01 or later; however if the customer does a collection while on RSA Via L&G 7.0 GA version, then the incorrect records will remain in the system and prevent the collection from proceeding even after applying the P01 Patch.
Resolution
To resolve the issue, follow the steps below:

Apply RSA Via L&G 7.0 P01

Note:  If you have not run any collections on your system when it was on version 7.0 GA and you do not see this error message and you have patched to 7.0 P01 then no further action is needed.

However, if your system was affected by this problem, then a SQL script needs to be run to correct any data that was collected incorrectly.

To identify if your system is affected by this problem you may run the following SQL script.  If any records are returned, then your system is affected. 
SELECT * FROM t_ce_explicit_relations
WHERE SRCPK_ID is null;

Also, if you have run IDCs while on 7.0 GA and/or you have seen the unification error reported in this article, then the SQL script below needs to be run.

Run SQL script
  1. Login as user 'oracle'.
  2. Run sqlplus as 'avuser'.
  3. Run the following SQL script, followed by a commit, as in the example below:
UPDATE t_ce_explicit_relations
SET srcpk_id = 0
WHERE srcpk_id is null;
COMMIT;
  1. The output should look like the sample below, with it updating the number of rows equivalent to the number of deleted users.  
acm-700:/home/oracle/Aveksa_7.0.0_P01 # su oracle
oracle@acm-700:~/Aveksa_7.0.0_P01> sqlplus avuser/<secret>
 
SQL*Plus: Release 12.1.0.2.0 Production on Thu Jan 21 15:34:52 2016
 
Copyright (c) 1982, 2014, Oracle.  All rights reserved.
 
Last Successful login time: Thu Jan 21 2016 15:34:05 -05:00
 
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
 
SQL> UPDATE t_ce_explicit_relations
  2  SET srcpk_id = 0
  3  WHERE srcpk_id is null;
 
0 rows updated.
 
SQL> COMMIT;
 
Commit complete.
 
SQL> exit
Notes
In order to identify if your system is affected by this problem you can run the following SQL script.  If any records are returned then your system is affected. 
SELECT * FROM t_ce_explicit_relations
WHERE SRCPK_ID is null;