Error: "ORA-04091: table ADMUSER.PROJECT is mutating, trigger/function may not see it" When Deleting an Assigned Baseline With P6 Integration API

(Doc ID 2274641.1)

Last updated on AUGUST 30, 2017

Applies to:

Primavera P6 Professional Project Management - Version 16.2.6.0 and later
Information in this document applies to any platform.

Symptoms

On : 16.2.6.0 version, P6 Integration Tools (API/SDK)

When attempting to delete an assigned baseline using the P6 Integration API, the following error occurs.

ERROR
-----------------------

Exception: DBEngine.executeUpdate: ORA-04091: table ADMUSER.PROJECT is mutating, trigger/function may not see it
ORA-06512: at "ADMUSER.TR_PROJWBS_OBSPROJ", line 34
ORA-04088: error during execution of trigger 'ADMUSER.TR_PROJWBS_OBSPROJ'
ORA-06512: at "ADMUSER.TR_PROJECT_PROJWBS_UPD", line 3
ORA-04088: error during execution of trigger 'ADMUSER.TR_PROJECT_PROJWBS_UPD'
com.primavera.PhoenixException: DBEngine.executeUpdate: ORA-04091: table ADMUSER
.PROJECT is mutating, trigger/function may not see it
ORA-06512: at "ADMUSER.TR_PROJWBS_OBSPROJ", line 34
ORA-04088: error during execution of trigger 'ADMUSER.TR_PROJWBS_OBSPROJ'
ORA-06512: at "ADMUSER.TR_PROJECT_PROJWBS_UPD", line 3
ORA-04088: error during execution of trigger 'ADMUSER.TR_PROJECT_PROJWBS_UPD'
  at com.primavera.bo.base.h.executeUpdate(DBEngineImpl.java:850)
  at com.primavera.bo.base.j.s(DeleteEngineImpl.java:1730)
  at com.primavera.bo.base.j.delete(DeleteEngineImpl.java:176)
  at com.primavera.bo.base.server.ServerDAOImpl.delete(ServerDAOImpl.java:139)
  at com.primavera.bo.base.server.ServerDAOImpl.delete(ServerDAOImpl.java:123)
  at com.primavera.bo.remotable.ReqMgr.deleteObjectWithWbsContext(ReqMgr.java:608)
  at com.primavera.bo.remotable.ReqMgr.deleteObject(ReqMgr.java:555)
  at com.primavera.bo.remotable.qproxy.ReqMgr.deleteObject(ReqMgr.java:454)
  at com.primavera.bo.DBReqMgr.deleteObject(DBReqMgr.java:107)
  at com.primavera.integration.server.mediator.BusinessObjectMediator.delete(BusinessObjectMediator.java:260)
  at com.primavera.integration.server.mediator.y.delete(ProjectMediator.java:576)
  at com.primavera.integration.server.ServerFacadeBOMgr.delete(ServerFacadeBOMgr.java:343)
  at com.primavera.integration.server.ServerFacade.delete(ServerFacade.java:21)
  at com.primavera.integration.client.LocalSession.a(LocalSession.java:522)
  at com.primavera.integration.client.b.a(BOBase.java:423)
  at com.primavera.integration.client.b.delete(BOBase.java:402)
  at com.primavera.integration.client.bo.object.BaselineProject.delete(BaselineProject.java:6868)
  at PjsaBaseLine.DeleteBaseLine(PjsaBaseLine.java:495)
  at PjsaBaseLine.main(PjsaBaseLine.java:193)
Caused by: java.sql.SQLSyntaxErrorException: ORA-04091: table ADMUSER.PROJECT is mutating, trigger/function may not see it
ORA-06512: at "ADMUSER.TR_PROJWBS_OBSPROJ", line 34
ORA-04088: error during execution of trigger 'ADMUSER.TR_PROJWBS_OBSPROJ'
ORA-06512: at "ADMUSER.TR_PROJECT_PROJWBS_UPD", line 3
ORA-04088: error during execution of trigger 'ADMUSER.TR_PROJECT_PROJWBS_UPD'
  at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)
  at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
  at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)
  at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)
  at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
  at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
  at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)
  at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1044)
  at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1329)
  at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3584)
  at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3665)
  at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1352)
  at com.primavera.infr.db.PPreparedStatement.executeUpdate(PPreparedStatement.java:104)
  at com.primavera.bo.base.h.executeUpdate(DBEngineImpl.java:826)
  ... 18 more
Original Exception:
java.sql.SQLSyntaxErrorException: ORA-04091: table ADMUSER.PROJECT is mutating,
trigger/function may not see it
ORA-06512: at "ADMUSER.TR_PROJWBS_OBSPROJ", line 34
ORA-04088: error during execution of trigger 'ADMUSER.TR_PROJWBS_OBSPROJ'
ORA-06512: at "ADMUSER.TR_PROJECT_PROJWBS_UPD", line 3
ORA-04088: error during execution of trigger 'ADMUSER.TR_PROJECT_PROJWBS_UPD'
  at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)
  at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
  at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)
  at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)
  at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
  at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
  at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)
  at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1044)
  at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1329)
  at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3584)
  at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3665)
  at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1352)
  at com.primavera.infr.db.PPreparedStatement.executeUpdate(PPreparedStatement.java:104)
  at com.primavera.bo.base.h.executeUpdate(DBEngineImpl.java:826)
  at com.primavera.bo.base.j.s(DeleteEngineImpl.java:1730)
  at com.primavera.bo.base.j.delete(DeleteEngineImpl.java:176)
  at com.primavera.bo.base.server.ServerDAOImpl.delete(ServerDAOImpl.java:139)
  at com.primavera.bo.base.server.ServerDAOImpl.delete(ServerDAOImpl.java:123)
  at com.primavera.bo.remotable.ReqMgr.deleteObjectWithWbsContext(ReqMgr.java:608)
  at com.primavera.bo.remotable.ReqMgr.deleteObject(ReqMgr.java:555)
  at com.primavera.bo.remotable.qproxy.ReqMgr.deleteObject(ReqMgr.java:454)
  at com.primavera.bo.DBReqMgr.deleteObject(DBReqMgr.java:107)
  at com.primavera.integration.server.mediator.BusinessObjectMediator.delete(BusinessObjectMediator.java:260)
  at com.primavera.integration.server.mediator.y.delete(ProjectMediator.java:576)
  at com.primavera.integration.server.ServerFacadeBOMgr.delete(ServerFacadeBOMgr.java:343)
  at com.primavera.integration.server.ServerFacade.delete(ServerFacade.java:21)
  at com.primavera.integration.client.LocalSession.a(LocalSession.java:522)
  at com.primavera.integration.client.b.a(BOBase.java:423)
  at com.primavera.integration.client.b.delete(BOBase.java:402)
  at com.primavera.integration.client.bo.object.BaselineProject.delete(BaselineProject.java:6868)
  at PjsaBaseLine.DeleteBaseLine(PjsaBaseLine.java:495)
  at PjsaBaseLine.main(PjsaBaseLine.java:193)

BUSINESS IMPACT
-----------------------
The issue has the following business impact: Due to this issue, users cannot delete assigned baselines.

NOTE: P6 Professional and P6 Web will not allow the delete of an assigned baseline but the API allows it.

 

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms