Article Number
000039553
Applies To
RSA Product Set: RSA Identity Governance & Lifecycle
RSA Version/Condition: 7.2.1, 7.2.1 P01, 7.2.1 P02
Issue
After migrating from an older version of RSA Identity Governance & Lifecycle to version 7.2.1 (or 7.2.1 P02), the unification process fails at 'Step 7/11: Post-Processing: Processing Data Cleanup' with the following error in
aveksaServer.log:
01/20/2021 10:49:43.788 ERROR (Exec Task Consumer#0 - Main) [org.hibernate.engine.jdbc.spi.SqlExceptionHelper]
ORA-54017: UPDATE operation disallowed on virtual columns
ORA-06512: at "AVUSER.UNFC_PROCESSOR", line 66
ORA-06512: at line 1
01/20/2021 10:49:43.790 INFO (Exec Task Consumer#0 - Main) [com.aveksa.server.xfw.UnificationExecutor] Failed method=Process
subTask=CompleteMergeTasks Default User Population, 32900
com.aveksa.server.db.PersistenceException: java.sql.SQLException: ORA-54017: UPDATE operation disallowed on virtual columns
ORA-06512: at "AVUSER.UNFC_PROCESSOR", line 66
ORA-06512: at line 1
at com.aveksa.server.db.persistence.PersistenceServiceProvider.runStoredProcedure(PersistenceServiceProvider.java:1456)
at com.aveksa.server.db.persistence.PersistenceServiceProvider.runStoredProcedure(PersistenceServiceProvider.java:1388)
at com.aveksa.server.db.PersistenceManager.runStoredProcedure(PersistenceManager.java:208)
at com.aveksa.server.xfw.UnificationExecutor.executeTask(UnificationExecutor.java:125)
at com.aveksa.server.xfw.TaskExecutor.execute(TaskExecutor.java:101)
at com.aveksa.server.xfw.ExecutionTaskQueue$Worker.run(ExecutionTaskQueue.java:129)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.sql.SQLException: ORA-54017: UPDATE operation disallowed on virtual columns
ORA-06512: at "AVUSER.UNFC_PROCESSOR", line 66
ORA-06512: at line 1
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:494)
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:446)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1054)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:623)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:252)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:612)
at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:223)
at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:56)
at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:907)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1119)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3780)
at oracle.jdbc.driver.T4CCallableStatement.executeInternal(T4CCallableStatement.java:1300)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3887)
at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4230)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1079)
at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.execute(WrappedPreparedStatement.java:442)
at com.aveksa.server.db.persistence.work.PersistenceServiceBaseWork.executeCallableStatement(PersistenceServiceBaseWork.java:36)
at com.aveksa.server.db.persistence.work.StoredProcedureCallWork.execute(StoredProcedureCallWork.java:80)
at org.hibernate.jdbc.WorkExecutor.executeWork(WorkExecutor.java:37)
at org.hibernate.internal.SessionImpl$3.accept(SessionImpl.java:2134)
at org.hibernate.internal.SessionImpl$3.accept(SessionImpl.java:2131)
at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.coordinateWork(JdbcCoordinatorImpl.java:332)
at org.hibernate.internal.SessionImpl.doWork(SessionImpl.java:2153)
at org.hibernate.internal.SessionImpl.doWork(SessionImpl.java:2138)
at com.aveksa.server.db.persistence.PersistenceServiceProvider.runStoredProcedure(PersistenceServiceProvider.java:1434)
... 6 more
Caused by: Error : 54017, Position : 0, Sql = BEGIN UNFC_Processor.UnifyUsers(:1 ,:2 ); END;, OriginalSql = {call UNFC_Processor.UnifyUsers(?,?)},
Error Msg = ORA-54017: UPDATE operation disallowed on virtual columns
ORA-06512: at "AVUSER.UNFC_PROCESSOR", line 66
ORA-06512: at line 1
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:498)
... 30 more
Cause
This is a known issue reported in engineering tickets ACM-109412 and ACM-109420. This error occurs when the system has a "User" Data Type Attribute on the User object which is "Collected" AND "Editable". For example, the configuration of attribute 'Supervisor' in the screenshot below would result in the error described above:
Image descriptionAnother way to confirm whether this issue applies to you is to run the following SQL query (as avuser). This query will list the attributes that are problematic (as also seen on the User Attributes screen shown above). If the SQL query returns at least a single row, your RSA Identity Governance & Lifecycle deployment is affected by this issue.
SELECT name
FROM t_extensible_schema_columns
WHERE table_name = 'T_MASTER_ENTERPRISE_USERS'
AND type = 'USER'
AND is_editable = 'y';
Resolution
This issue is resolved in the following RSA Identity Governance & Lifecycle versions and/or patch levels:
- RSA Identity Governance & Lifecycle 7.2.1 P03
Workaround
If you are unable to apply the patch where this issue is fixed, please contact
RSA Identity Governance & Lifecycle Support and mention this RSA Knowledge Base Article ID 000039553 for reference.
RSA Identity Governance & Lifecycle Support can provide you with a workaround or a dev fix for the issue.