ORA-04031: unable to allocate 4194344 bytes of shared memory (streams pool)


Symptoms

EXPDP reports the following errors when run:

ORA-31626: job does not exist
ORA-31637: cannot create job SYS_EXPORT_FULL_01 for user SYSTEM
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPV$FT_INT", line 600
ORA-39080: failed to create queues "KUPC$C_1_20070823095248" and "KUPC$S_1_20070
823095248" for Data Pump job
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPC$QUE_INT", line 1580
ORA-04031: unable to allocate 4194344 bytes of shared memory ("streams pool","unknown object","streams pool","fixed allocation callback

Cause

The problem is caused by having set the STREAMS_POOL_SIZE instance parameter to 0.

The first argument of the ORA-4031 error message also indicates a problem with the Streams pool.

Solution

Set the STREAMS_POOL_SIZE instance parameter to at least 48MB using:

connect / as sysdba
alter system set streams_pool_size=48m;



Note: for a large database and/or high workload, the STREAMS_POOL_SIZE parameter may need to be higher (i.e. 150 MB)  in order to avoid the ORA-4031 errors.

at Monday, March 26, 2012  

0 comments:

Post a Comment

Powered by Blogger.