天天看点

EXPDP Fails With ORA-04031 ("streams pool", ...)

相信大家都有遇到ora-04031这种错误,在导出时也有这样的错误出现。   问题的症状:

expdp 报告如下错误:

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.KUPC$QUE_INT", line 1580

ORA-04031: unable to allocate 4194344 bytes of shared memory ("streams pool","unknown object","streams

pool","fixed allocation callback

问题原因:

这个问题是由于设置了 初始化参数streams_pool_size 的值为0,错误的第一个提示 streams pool 就能够说明问题的原

因。

ora-4031 一般说明内存过小,应该加大内存的大小。

解决办法:

设置 初始化参数streams_pool_size 的值 最小为48m

  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

(如 150 MB)  in order to avoid the ORA-4031 errors.