Problem: Oracle bug 2793038. Oracle runs out of shared memory with an ORA-04031 error


Oracle may run out of shared memory with an ORA-04031 error. This is often a problem with the Oracle database memory configuration where the server has not been allocated enough memory for the task it is being asked to perform. Consult your Oracle documentation for information on tuning the database.

ESRI has observed another possible cause of this issue, discussed below.


Refer to Oracle's metalink; bug #2793038. Users need an Oracle metalink account to observe metalink information. Information below is from the Oracle metalink.

There is an Oracle bug in and that causes sessions to get the ORA-04031 error when the shared_pool fills. The bug number is 2793038.

Bug 2793038 Description:

If Oracle runs out of shared pool space when allocating memory for "object-level statistics" then the session may fail with an ORA-4031 error which can crash the instance if it occurs in a background process.

Solution or Workaround

Set STATISTICS_LEVEL=basic or increase the shared pool sufficiently not to be short of space.