« How to resolve remote data fetching when taking more time?
A week back I have faced an error related to datapump export and would like to present my findings here.
when we look at last line, like me, many people wonder why it is showing stream pool here and what is the relation between stream pool and expdp?
Datapump jobs (either expdp/impdp), when initiated, will use buffer queues in order to transfer the data directly from the master table to the dump file. Instead of creating new buffer queue, datapump operations will try to use the existing queues in stream pool memory area.
Normally, Stream pool will have buffer queues in order to store messages in memory that supports capture processes, apply processes, XStream outbound servers, and XStream inbound servers.
Ideally, Stream pool size will be managed (increase/decrease) automatically when ASMM or AMM is enabled. But, sometimes with this automatic memory management, it might happen that STREAM_POOL_SIZE has not been set and pointing to a size of 0. This is the cause for the error mentioned above.
Set STREAM_POOL_SIZE parameter to a value greater than 0. Usually 48m should be the min size and this value will be more if there is a large database or a database with high work load.
This entry was posted on December 4, 2013 at 3:45 PM	and is filed under export/import/Datapump. Tagged: "fixed allocation callback, "streams pool", "unknown object", expdp failing with ora-04031, expdp throwing ORA-04031 (stream pool) error, ora-04031 during expdp, ORA-04031: unable to allocate 4194344 bytes of shared memory ("streams pool", ORA-31626: job does not exist, ORA-31637: cannot create job SYS_EXPORT_FULL_01 for user SYS, ORA-39080: failed to create queues "KUPC$C_1_20070823095248" and "KUPC$S_1_20070823095248" for Data Pump job. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
Even I was wondering !!! While doing expdp, got the same error. Same steps i used to move forward. Stream_pool_size changed it from 0 to 40M. By your excellent answer, my doubt is clear now. Thanks for sharing.