ora-04031错误解决方法及详细分析
日期:2008年5月30日 作者:
对于大多数应用来说,共享池的大小对于Oracle 性能来说都是很重要的。共享池中保存数据字典高速缓冲和完全解析或编译的的PL/SQL 块和SQL 语句。 当我们在共享池中试图分配大片的连续内存失败的时候,Oracle首先刷新池中当前没使用的所有对象,使空闲内存块合并。如果仍然没有足够大单个的大块内存满足请求,就会产生ORA-04031 错误。 当这个错误出现的时候你得到的错误信息如下: Error : ORA 4031 Text : unable to allocate %s bytes of shared memory (%s,%s,%s) ---------------------------------------------------------------------------------------------------------------- Cause : More shared memory is needed than was allocated in the shared pool. Action : Either use the dbms_shared_pool package to pin large packages, redUCe your use of shared memory, or increase the amount of available shared memory by increasing the value of the init.ora parameter "shared_pool_size". 1.共享池相关的实例参数 在继续之前,理解下面的实例参数是很重要的: SHARED_POOL_SIZE – 这个参数指定了共享池的大小,单位是字节。可以接受数字值或者数字后面跟上后缀"K" 或 "M" 。"K"代表千字节, "M"代表兆字节。 SHARED_POOL_RESERVED_SIZE – 指定了为共享池内存保留的用于大的连续请求的共享池空间。当共享池碎片强制使Oracle 查找并释放大块未使用的池来满足当前的请求的时候,这个参数和SHARED_POOL_RESERVED_MIN_ALLOC 参数一起可以用来避免性能下降。 这个参数理想的值应该大到足以满足任何对保留列表中内存的请求扫描而无需从共享池中刷新对象。既然操作系统内存可以限制共享池的大小,一般来说,你应该设定这个参数为SHARED_POOL_SIZE 参数的 10% 大小。 SHARED_POOL_RESERVED_MIN_ALLOC –这个参数的值控制保留内存的分配。如果一个足够尺寸的大块内存在共享池空闲列表中没能找到,内存就从保留列表中分配一块比这个值大的空间。默认的值对于大多数系统来说都足够了。如果你加大这个值,那么Oracle 服务器将允许从这个保留列表中更少的分配并且将从共享池列表中请求更多的内存。这个参数在Oracle 8i 是隐藏的。 2.诊断ORA-04031 错误 ORA-04031 错误通常是因为库高速缓冲中或共享池保留空间中的碎片。 在加大共享池大小的时 候考虑调整应用使用共享的SQL 并且调整如下的参数: SHARED_POOL_SIZE, SHARED_POOL_RESERVED_SIZE, SHARED_POOL_RESERVED_MIN_ALLOC. 首先判定是否ORA-04031 错误是由共享池保留空间中的库高速缓冲的碎片产生的。提交下的查 询: SELECT free_space, avg_free_size, used_space, avg_used_size, request_failures, last_failure_size
[1] [2] [3] [4] 下一页
复制本页网址和标题,发送给你QQ/Msn的好友一起分享
ora-04031错误解决方法及详细分析 相关文章:
·经典:细节决定成败读后感精选
·秦殇复活-详细剧情攻略
·最详细的黑客入门法则
·LINUX 常见问题1000个详细解答
·Oracle触发器详细介绍
·Linux操作系统源代码详细分析
·《龙珠-悟空的遗产2》详细攻略 - 龙珠Z攻略秘籍 - 龙珠Z
·关于web.xml配置的详细说明
·IC是什么啊 详细点
·应聘过程中需要注意的细节及如何规划职业发展生
ora-04031错误解决方法及详细分析 相关软件
·《细胞分裂2:明日潘朵拉》汉化补丁
·细胞分裂GBA版
·细胞分裂3:混沌法则 免CD补丁
·黑色细胞00
·在细雨中呼喊
·《分裂细胞》威力加强版免CD补丁
·《细胞分裂.明日潘多拉》完美光盘正式版
·《反恐精英》地图详细制作教程及工具
·分裂细胞2
·精细管理
上一篇:技巧:cvs用户权限管理的一种最简单的实现
下一篇:如何迅速地杀掉Oralcle的一些session
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com