000039553 - Unification fails at Step 7/11 with 'ORA-54017: UPDATE operation disallowed on virtual columns' in RSA Identity Governance & Lifecycle

Document created by RSA Customer Support Employee on Feb 9, 2021
Version 1Show Document
  • View in full screen mode

Article Content

Article Number000039553
Applies ToRSA Product Set: RSA Identity Governance & Lifecycle
RSA Version/Condition: 7.2.1, 7.2.1 P01, 7.2.1 P02
IssueAfter 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


 
CauseThis 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:



Another 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';
ResolutionThis issue is resolved in the following RSA Identity Governance & Lifecycle versions and/or patch levels:
  • RSA Identity Governance & Lifecycle 7.2.1 P03
WorkaroundIf 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.

Attachments

    Outcomes