Article - CS389113
During FBR Import, Processing Missing Obects Fails with ORA-04036: PGA memory used by the instance exceeds PGA_AGGREGATE_LIMIT
Modified: 21-Mar-2023
Applies To
- Windchill PDMLink 11.1 M020
Description
- During FBR Import, Processing Missing Obects Fails with ORA-04036: PGA memory used by the instance exceeds PGA_AGGREGATE_LIMIT
- The following stacktrace is generating the query causing the ORA error:
java.sql.SQLRecoverableException: ORA-04036: PGA memory used by the instance exceeds PGA_AGGREGATE_LIMIT 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:1052) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:537) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:255) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:610) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:253) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:86) at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:765) at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:921) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1099) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3640) at oracle.jdbc.driver.T4CPreparedStatement.executeInternal(T4CPreparedStatement.java:1384) at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3687) at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1165) at wt.pds.AbstractResultCursor.executeQuery(AbstractResultCursor.java:582) at wt.pds.AbstractResultCursor.executeQuery(AbstractResultCursor.java:540) at wt.pds.BasicResultCursor.getNextResultSet(BasicResultCursor.java:385) at wt.pds.BasicResultCursor.advance(BasicResultCursor.java:337) at wt.pds.BasicResultCursor.next(BasicResultCursor.java:132) at wt.pds.SQLDatabasePds.query(SQLDatabasePds.java:812) at wt.pom.PersistentObjectManager.query(PersistentObjectManager.java:1076) at wt.pom.PersistentObjectManager.query(PersistentObjectManager.java:985) at wt.fc.StandardPersistenceManager._query(StandardPersistenceManager.java:1873) at wt.fc.StandardPersistenceManager._find(StandardPersistenceManager.java:1904) at wt.fc.StandardPersistenceManager.find(StandardPersistenceManager.java:640) at wt.fc.StandardPersistenceManager.find(StandardPersistenceManager.java:410) at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at wt.services.ServiceFactory$ServerInvocationHandler.invoke(ServiceFactory.java:399) at com.sun.proxy.$Proxy33.find(Unknown Source) at com.ptc.windchill.replication.server.imp.processing.utils.MissingObjectsImportUtils.queryAndFetchResults(MissingObjectsImportUtils.java:1834) at com.ptc.windchill.replication.server.imp.processing.utils.MissingObjectsImportUtils.getNotMasterObjectsForMO(MissingObjectsImportUtils.java:1802) at com.ptc.windchill.replication.server.imp.processing.utils.MissingObjectsImportUtils.getAllObjectsStillMissing(MissingObjectsImportUtils.java:1318) at com.ptc.windchill.replication.server.imp.processing.SAXMissingObjectsHandler.processObjectsStructure(SAXMissingObjectsHandler.java:835) at com.ptc.windchill.replication.server.imp.processing.SAXMissingObjectsHandler.processMissingObjectWithToCreateStatus(SAXMissingObjectsHandler.java:790) at com.ptc.windchill.replication.server.imp.processing.SAXMissingObjectsHandler.processMissingObjectWithToCreateStatus(SAXMissingObjectsHandler.java:737) at com.ptc.windchill.replication.server.imp.processing.SAXMissingObjectsHandler.endDocument(SAXMissingObjectsHandler.java:328) at org.apache.xerces.parsers.AbstractSAXParser.endDocument(Unknown Source) at org.apache.xerces.impl.xs.XMLSchemaValidator.endDocument(Unknown Source) at org.apache.xerces.impl.XMLDocumentScannerImpl.endEntity(Unknown Source) at org.apache.xerces.impl.XMLEntityManager.endEntity(Unknown Source) at org.apache.xerces.impl.XMLEntityScanner.load(Unknown Source) at org.apache.xerces.impl.XMLEntityScanner.skipSpaces(Unknown Source) at org.apache.xerces.impl.XMLDocumentScannerImpl$TrailingMiscDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source) at com.ptc.windchill.replication.server.imp.processing.SAXMissingObjectsParser.parse(SAXMissingObjectsParser.java:54) at com.ptc.windchill.replication.server.imp.processing.MissingObjectsProcessor.processMissingObjects(MissingObjectsProcessor.java:68) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.ptc.windchill.classproxy.ClassProxy.invokeMethod(ClassProxy.java:80) at com.ptc.windchill.classproxy.ClassProxy.invokeMethod(ClassProxy.java:71) at com.ptc.windchill.classproxy.WorkPackageClassProxy.processMissingObjects(WorkPackageClassProxy.java:1076) at com.ptc.windchill.rd.service.AbstractReceivedDeliveryServiceImpl.processMissingObjects(AbstractReceivedDeliveryServiceImpl.java:1645) at com.ptc.windchill.rd.service.AbstractReceivedDeliveryServiceImpl.doImport(AbstractReceivedDeliveryServiceImpl.java:1502) at com.ptc.windchill.rd.service.AbstractReceivedDeliveryServiceImpl.doImport(AbstractReceivedDeliveryServiceImpl.java:1359) at com.ptc.windchill.rd.service.AbstractReceivedDeliveryServiceImpl.doImport(AbstractReceivedDeliveryServiceImpl.java:1341) at com.ptc.windchill.rd.service.ReceivedDeliveryImportTask._run(ReceivedDeliveryImportTask.java:210) at com.ptc.core.task.AtomicTask.run(AtomicTask.java:58) at com.ptc.core.task.Task.execute(Task.java:262) at com.ptc.core.task.Task.executeInBackground(Task.java:474) at com.ptc.core.task.QueueableTaskServerHelper.executeTaskInQueue(QueueableTaskServerHelper.java:163) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at wt.queue.QueueEntry.execute(QueueEntry.java:231) at wt.queue.ProcessingQueue.execEntry(ProcessingQueue.java:312) at wt.queue.ProcessingQueue.execEntries(ProcessingQueue.java:898) at wt.queue.PollingQueueThread.run(PollingQueueThread.java:99)
- The generated query has contains thousands of OR conditions, each of which includes multiple columns
- The following is an example of the query generated
- This example is for the WTDocument type, but the query can be generated for other types as well
SELECT A0.idA3A2ownership,ABS(NULL),A0.idA3domainRef,A0.entrySetadHocAcl,A0.versionLevelA2versionInfo,A0.branchIditerationInfo,A0.securityLabels,A0.idA3containerReference,A0.classnamekeydomainRef,A0.idA3masterReference,A0.idA2A2,A0.statestate,A0.branchIdA2typeDefinitionRefe,A0.typeadministrativeLock,A0.classnamekeycontainerReferen,A0.statecheckoutInfo,A0.versionIdA2versionInfo,A0.blob$entrySetadHocAcl,A0.classnamekeyA2ownership,A0.classnameA2A2,A0B.name,A0B.WTDocumentNumber
FROM WTDocument A0,WTDocumentMaster A0B
WHERE (A0.idA3masterReference=A0B.idA2A2) AND (((A0B.WTDocumentNumber = :1 ) AND (A0B.name = :2 ) AND (A0.versionIdA2versionInfo = :3 ) AND (A0.iterationIdA2iterationInfo = :4 ))
OR ((A0B.WTDocumentNumber = :5 ) AND (A0B.name = :6 ) AND (A0.versionIdA2versionInfo = :7 ) AND (A0.iterationIdA2iterationInfo = :8 ))
OR ((A0B.WTDocumentNumber = :9 ) AND (A0B.name = :10 ) AND (A0.versionIdA2versionInfo = :11 ) AND (A0.iterationIdA2iterationInfo = :12 ))
OR ((A0B.WTDocumentNumber = :13 ) AND (A0B.name = :14 ) AND (A0.versionIdA2versionInfo = :15 ) AND (A0.iterationIdA2iterationInfo = :16 ))
OR ((A0B.WTDocumentNumber = :17 ) AND (A0B.name = :18 ) AND (A0.versionIdA2versionInfo = :19 ) AND (A0.iterationIdA2iterationInfo = :20 ))
OR ((A0B.WTDocumentNumber = :21 ) AND (A0B.name = :22 ) AND (A0.versionIdA2versionInfo = :23 ) AND (A0.iterationIdA2iterationInfo = :24 ))
OR ((A0B.WTDocumentNumber = :25 ) AND (A0B.name = :26 ) AND (A0.versionIdA2versionInfo = :27 ) AND (A0.iterationIdA2iterationInfo = :28 ))
...
OR ((A0B.WTDocumentNumber = :13085 ) AND (A0B.name = :13086 ) AND (A0.versionIdA2versionInfo = :13087 ) AND (A0.iterationIdA2iterationInfo = :13088 ))
OR ((A0B.WTDocumentNumber = :13089 ) AND (A0B.name = :13090 ) AND (A0.versionIdA2versionInfo = :13091 ) AND (A0.iterationIdA2iterationInfo = :13092 ))
OR ((A0B.WTDocumentNumber = :13093 ) AND (A0B.name = :13094 ) AND (A0.versionIdA2versionInfo = :13095 ) AND (A0.iterationIdA2iterationInfo = :13096 ))
OR ((A0B.WTDocumentNumber = :13097 ) AND (A0B.name = :13098 ) AND (A0.versionIdA2versionInfo = :13099 ) AND (A0.iterationIdA2iterationInfo = :13100 ))
OR ((A0B.WTDocumentNumber = :13101 ) AND (A0B.name = :13102 ) AND (A0.versionIdA2versionInfo = :13103 ) AND (A0.iterationIdA2iterationInfo = :13104 )))
AND (A0.markForDeleteA2 = 0)
This is a printer-friendly version of Article 389113 and may be out of date. For the latest version click CS389113