000035204 - RSA Identity Governance and Lifecycle Identity Data Collection is failing due to ORA-00904: CUS_ATTR_USER_CAS_XX invalid identifier

Document created by RSA Customer Support Employee on Jun 2, 2017
Version 1Show Document
  • View in full screen mode

Article Content

Article Number000035204
Applies ToRSA Product Set: Identity Management and Governance
RSA Version/Condition: All 
IssueThe Identity Data Collection has been failing after applying attribute changes due to the following exception:
 
ORA-00904: CUS_ATTR_USER_CAS_XX invalid identifier

This error has been occurring during Identity Data Collection runs, specifically while Staging Tables are being created (Step 1/4 Create Staging Tables). The Identity Data Collection's Admin error is failing at Identity_Data_Collector.Save_Run_Data while copying table data from STX_USR_XX_XXXX into T_DC_SOURCEDATA_USER.
This issue was brought about by the following scenario where it appears something got messed up during attribute creation: 
  1. A user attribute was added (where the attribute name has underscore; for example, ACCOUNT_STATUS, but had an error during the add process and so the attribute name was changed by replacing the underscore with space.  So ACCOUNT_STATUS is changed to ACCOUNT STATUS.  Only then was that specific attribute successfully added. 
  2. The Identity Data Collector configuration was updated to map to the new attribute.
  3. The Identity Data Collection was rerun, however it has been failing with the ORA-00904: "CUS_ATTR_USER_CAS_XX" invalid identifier since the changes were applied. 
  4. The changes were then rolled back by removing the specific attribute and its mappings in the Identity Data Collector. 
  5. The Identity Data Collection was rerun, however the issue persisted even after reverting the changes. 
See the full error stacktrace from aveksaServer.log:
05/15/2017 16:47:24.467 ERROR (Exec Task Consumer#9) [com.aveksa.server.xfw.TaskExecutor] Failed method=Execute ExecutionTask[TaskID=12008 
RunID=null Source=21 Type=DataProcessing Status=InProgress]
com.aveksa.server.xfw.ExecutionException: com.aveksa.server.collector.DataProcessorException: Loading of user & group data into DB failed.
User data file=XXXXUserData.data & group data file=XXXXGroupData.data
at com.aveksa.server.xfw.DataProcessingExecutor.executeFullTask(DataProcessingExecutor.java:146)
at com.aveksa.server.xfw.DataProcessingExecutor.executeTask(DataProcessingExecutor.java:63)
at com.aveksa.server.xfw.TaskExecutor.execute(TaskExecutor.java:82)
at com.aveksa.server.xfw.ExecutionTaskQueue$Worker.run(ExecutionTaskQueue.java:116)
at java.lang.Thread.run(Thread.java:701)
Caused by: com.aveksa.server.collector.DataProcessorException: Loading of user & group data into DB failed.
User data file=XXXXUserData.data & group data file=XXXXGroupData.data
at com.aveksa.server.xfw.SAXUserDataFilter.loadData(SAXUserDataFilter.java:304)
at com.aveksa.server.xfw.SAXUserDataFilter.process(SAXUserDataFilter.java:156)
at com.aveksa.server.xfw.SAXUserDataFilter.process(SAXUserDataFilter.java:512)
at com.aveksa.server.xfw.DataProcessor.process(DataProcessor.java:85)
at com.aveksa.server.xfw.DataProcessor.process(DataProcessor.java:64)
at com.aveksa.server.xfw.DataProcessingExecutor.executeFullTask(DataProcessingExecutor.java:135)
... 4 more
Caused by: com.aveksa.server.db.PersistenceException: java.sql.SQLException: ORA-00904: "CUS_ATTR_USER_CAS_XX": invalid identifier
ORA-06512: at "AVUSER.COLLECTOR_DATA_TABLES", line 92
ORA-06512: at "AVUSER.IDC_EXTERNAL_TABLES", line 103
ORA-06512: at "AVUSER.IDENTITY_DATA_COLLECTOR", line 70
ORA-06512: at "AVUSER.IDENTITY_DATA_COLLECTOR", line 166
ORA-06512: at line 1
at com.aveksa.server.db.persistence.PersistenceServiceProvider.runStoredProcedure(PersistenceServiceProvider.java:1458)
at com.aveksa.server.db.persistence.PersistenceServiceProvider.runStoredProcedure(PersistenceServiceProvider.java:1329)
at com.aveksa.server.db.PersistenceManager.runStoredProcedure(PersistenceManager.java:235)
at com.aveksa.server.xfw.SAXUserDataFilter.loadData(SAXUserDataFilter.java:287)
... 9 more
at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:1036)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1336)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3608)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3709)
at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4735)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1090)
at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.execute(WrappedPreparedStatement.java:209)
at com.aveksa.server.db.persistence.PersistenceServiceProvider.runStoredProcedure(PersistenceServiceProvider.java:1432)
... 12 more
CauseThe database tables became out of sync with the extensible schema columns.
ResolutionRun the following queries as AVUSER on your SQL Developer tool to determine if the database tables is out of sync with the extensible schema columns.  Also, provide screenshot(s) of the Edit screen for the User attributes (Admin > Attributes > User tab).
 
SELECT * FROM T_AV_CUSTOM_ATTRIBUTES ORDER BY OBJECT_TYPE, DISPLAY_NAME;

SELECT * FROM T_EXTENSIBLE_SCHEMA_COLUMNS ORDER BY TABLE_NAME, DISPLAY_NAME;

SELECT table_name FROM USER_TAB_COLUMNS WEHERE column_name='<invalid identifier column name>';

where, 

<invalid identifier column name> is the invalid identifier column name (e.  g., CUS_ATTR_USER_CAS_41) from the ORA-00904 invalid identifier exception.  For example,

SELECT table_name FROM USER_TAB_COLUMNS WHERE column_name='CUS_ATTR_USER_CAS_41';

If the query returns any output, please contact RSA Support for resolution and mention this article.
Workaround
 

Attachments

    Outcomes