ORA-04031 错误产生原因: 1. 大量的硬解析出现。 2. 突然出现一个大的 SQL 解决04031 错误解决办法: (1) 刷新共享池 shared_pool SQL> alter system flush shared_pool; 1. 这个办法可以进行缓解,但是没有根本解决问题。一般也不能缓解。 (2) 将没有共享的 SQL 转换为共享 SQL 。(使用绑定变量) (3) ...
如果SHARED_POOL_SIZE 足够大,大多数的 ORA-04031 错误都是由共享池中的动态SQL 碎片导致的。可能的原因如下: 非共享的SQL 生成不必要的解析调用 (软解析) 没有使用绑定变量 要减少碎片的产生你需要确定是前面描叙的几种可能的因素。可以采取如下的一些方法,当然不只局限于这几种: 应用调整、数据库调整或者实例...
具体原因及解决:ORA-04031出现的问题有以下几个可能性:1. 没有绑定编量造成shared_pool碎片过多,同时shared_pool_size太小 (1)这个情况是比较常见的。(2)第二种情况通常会建议使用绑定变量,或者用简单的加大shared_pool,临时的解决方法就是alter system flush shared_pool。2. Large_pool,Java...
具体原因及解决: ORA-04031出现的问题有以下几个可能性: 1. 没有绑定编量造成shared_pool碎片过多,同时shared_pool_size太小 (1)这个情况是比较常见的。 (2)第二种情况通常会建议使用绑定变量,或者用简单的加大shared_pool,临时的解决方法就是alter system flush shared_pool。 2. Large_pool,Java_pool太小造...
适用版本EAS750、EAS800问题描述EAS的数据库参数SGA_TARGET设置不合理导致报错ORA-04031,导致发生内存溢出,数据库实例hang住,业务中断,影响生产。 数据库alert日志报错: 解决方案原因分析:原因 一:sga过小,进而sharepool设置过小,导致数据库使用内存不足解决方法:修改sga_target的参数,增加sga大小原因 ...
6操作系统内存不足这只会出现在sharedpool的使用还没有达到最大值时才会出现并且在操作系统都有swap的情况下只有部分操作系统才可能有这种情况比如在hpux下reserved内存过多导致swap7其他原因多数是因为bug Oracle ORA-04031错误说明 分类:Oracle故障解决案例Oracle性能调优2011-06-15 14:42364人阅读评论(0)收藏举报 在...
查阅了网上的大部分文章,原因有很多:归档使用率高导致的(ORA-03113),冷备后出现日志文件比控制文件新导致的(ORA-03113),没有一致性关库导致的(ORA-03113)。 奇怪的是,在我的测试库,启动PDB1时,报错ORA-03113并没有在日志中看到。而ORA-03113的报错...
即使使用了绑定变量后,仍然可能存在高version count(子指针)的情况。为了使子指针共享,CURSOR_SHARING参数可能需要调整。metalink 文档Note 296377.1 和 261020.1可以提供详细信息。若造成4031的原因是由于未绑定变量或者游标无法共享导致的过度硬解析(Hard Parse),则应当调整应用绑定变量或者调整初始化...
适用版本EAS全部版本,使用Oracle数据库的都适用问题描述EAS的数据库应用过程中报错ORA-04031,导致发生内存溢出,数据库实例hang住,业务中断,影响生产。 数据库alert日志报错: 解决方案原因分析:原因一:sga过小,进而sharepool设置过小,导致数据库使用内存不足解决方法:修改sga_target的参数,增加sga大小。
报错信息中的”sga heap(3,0)”即指明是在第3个子池申请内存时失败。本文案例中的ORA-04031错误其产生的原因可以归结为Oracle对shared pool的分配/使用策略问题。 (6)操作系统内存不足,这只会出现在shared pool的使用还没有达到最大值时才会出现,并且在操作系统都有swap的情况下,只有部分操作系统才可能有这种...