1.接到应用软件使用人员反馈,程序报错ORA-04031 2.检查数据库alert日志,发现后台日志不停报错ORA-04031: 无法分配 ORA-04031: 无法分配 4160 字节的共享内存 ("shared pool","unknown object","sga heap(1,0)","modification ") 字节的共享内存 ("","","","") 3.查看内存分配,发现shared pool过小 4....
判断错误发生所有的内存区域,是shared pool,large pool还是streams pool等。这个很容易从错误信息中判断出来,本文主要描述shared pool的ORA-04031错误,这也是最常见的。 检查Shared Pool的总大小以及free memory的大小。如果free memory看上去挺多,以subpool为单位检查是否存在是由于碎片导致没有足够的连续内存以供分配,...
streams pool time manager index 144 streams pool msgtree_kgqmctx 144 当Streams Pool分配过小同样可能引发Expdp/Impdp因ORA-04031 ("streams pool", ...)错误而意外终止,详见<EXPDP Fails With ORA-04031 ("streams pool", ...) [ID 457724.1]>此外DataPump还可能从Large Pool中分配PX msg pool作为并行进...
// increase the initialization parameter STREAMS_POOL_SIZE or increase // the capture or apply parameter MAX_SGA_SIZE. 一、重现ORA-04031错误: 1、第一个实验硬解析产生大量的碎片重现4031错误 2、当前的数据库版本 SQL> select * from v$version where rownum=1; BANNER Oracle Database 11g Enterprise ...
当Oracle不能找到一个足够大的内存块来满足用户操作所带来的内部分配请求的时候,ORA-04031错误就可能在SGA的任何一个池中(Large Pool、Java Pool、Streams Pool(10g新增)、Shared Pool)出现。ORA-04031错误信息会指出哪个池出了问题。如果错误指出问题不在共享池中,那么这通常意味着对应用环境来说,出问题的池配置的...
我们在使用Data Pump工具时经常会遇到著名的ORA-04031/ORA-04030错误,主要影响DataPump的内存组件有PGA和SGA中的共享池Shared Pool、流池Streams Pool。Expdp/Impdp对shared Pool的开销主要体现在其运行过程中需要调用一系列的包体PACKGE BODY,它们包括: PACKAGE_NAME TYPE SHARABLE_MEM ...
统计2节点每个子池及duration出现04031的次数: 根据alert日志可以看出,所有的ora-4031同样都发生在shared pool子池的第0个duration上,导致4031的根本原因是因为shared pool子池的第0个duration内存不足。 通过设置sga_target的ASMM管理后,共享池(shared_pool)和流池(streams pool)每个子池都是4个duration。它们分别是...
shared_pool_size big integer 12G streams_pool_size big integer 416M SGA总大小60G,share pool总大小12G。有了这个直观的感受,随即将4031收集相关信息的脚本4031_OK-ForAll.sql发给客户,收集现在内存使用情况,脚本内容如下: /*** * File:4031.sql * Date:2012/01/1 * * Modifications: * 2012/02/12 Ch...
如果错误被记录,请检查 SGA 的哪部分收到此错误。是共享池,大池,java池或 streams 池? 查询v$sgastat 以检查是否有组件表现出非正常增长. 查询v$librarycache 并检查: 有无无效对象 (多为 DDL 语句) 有无重载 (Library cache 可能不够大) 内存命中率 (低命中率可能是非共享游标造成的) ...
其实分析ORA-04031错误,通常有以下几个要点: (1)判断错误发生所有的内存区域,是shared pool,large pool还是streams pool等。这个很容易从错误信息中判断出来,本文主要描述shared pool的ORA-04031错误,这也是最常见的。 (2)检查Shared Pool的总大小以及free memory的大小。如果free memory看上去挺多,以subpool为单位检...