博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ORA-04031:
阅读量:6281 次
发布时间:2019-06-22

本文共 833 字,大约阅读时间需要 2 分钟。

对于大多数应用来说,共享池的大小对于Oracle 性能来说都是很重要的。共享池中保存数据字典高速缓冲和完全解析或编译的的PL/SQL 块和SQL 语句。

当我们在共享池中试图分配大片的连续内存失败的时候,Oracle首先刷新池中当前没使用的所有对象,使空闲内存块合并。如果仍然没有足够大单个的大块内存满足请求,就会产生ORA-04031 错误。
在继续之前,理解下面的实例参数是很重要的:
SHARED_POOL_SIZE – 这个参数指定了共享池的大小,单位是字节。可以接受数字值或者数字后面跟上后缀"K" 或 "M" 。"K"代表千字节, "M"代表兆字节。
SHARED_POOL_RESERVED_SIZE – 指定了为共享池内存保留的用于大的连续请求的共享池空间。当共享池碎片强制使Oracle 查找并释放大块未使用的池来满足当前的请求的时候,这个参数和HARED_POOL_RESERVED_MIN_ALLOC 参数一起可以用来避免性能下降。
这个参数理想的值应该大到足以满足任何对保留列表中内存的请求扫描而无需从共享池中刷新对象。既然操作系统内存可以限制共享池的大小,一般来说,你应该设定这个参数为SHARED_POOL_SIZE 参数的 10% 大小。
SHARED_POOL_RESERVED_MIN_ALLOC –这个参数的值控制保留内存的分配。如果一个足够尺寸的大块内存在共享池空闲列表中没能找到,内存就从保留列表中分配一块比这个值大的空间。默认的值对于大多数系统来说都足够了。如果你加大这个值,那么Oracle 服务器将允许从这个保留列表中更少的分配并且将从共享池列表中请求更多的内存。这个参数在Oracle 8i 是隐藏的。
经过实际操作,在数据库的参数文件中修改了SHARED_POOL_SIZE、LARGE_POOL_SIZE两个参数值,增大一倍,然后SHARED_POOL_RESERVED_SIZE自动发生变化;

 

程序员的基础教程:

转载地址:http://ekxva.baihongyu.com/

你可能感兴趣的文章
linux下svn清除非版本控制文件的方法
查看>>
Gradle 设置全局代理
查看>>
使用iTerm2快捷连接SSH
查看>>
CentOS6.5安装kafka-2.10-0.8.2(单机)
查看>>
主从复制、读写分离水平拆分及库表散列
查看>>
spring boot controller设置 @Transactional 不回滚的解决办法
查看>>
地铁是怎么建成的
查看>>
C# net request payload形式发送post请求
查看>>
java sm3加密算法
查看>>
jumpserver v0.5.0 创建用户和管理机器
查看>>
[转]深邃之思想,纯粹之灵魂——我所了解的柳智宇学长
查看>>
cgi与fastcgi区别_转
查看>>
Linux CentOS如何汉化系统
查看>>
k8s architecture
查看>>
Redis的Errorlog或者启动日志(错误日志)的配置
查看>>
机器学习算法GBDT
查看>>
Android 系统版本和API level的关系表
查看>>
【转】干货 | 【虚拟货币钱包】从 BIP32、BIP39、BIP44 到 Ethereum HD Wallet
查看>>
[转]1、蓝牙核心技术了解(蓝牙协议、架构、硬件和软件笔记)
查看>>
SpringMVC工作原理详解
查看>>