ITPub博客

首页 > 数据库 > Oracle > 错误ORA-04031: unable to allocate 32 bytes of shared memory

错误ORA-04031: unable to allocate 32 bytes of shared memory

原创 Oracle 作者:mopnan 时间:2014-05-31 14:10:13 0 删除 编辑
近段时间数据库出现错误ORA-04031: unable to allocate 32 bytes of shared memory两次了,在网上搜索了下造成这个问题的原因有下面三种可能:
1. 没有绑定编量造成shared_pool碎片过多,同时shared_pool_size太小。
2. Large_pool,Java_pool太小造成的。
3. 过度的开CURSOR而不关闭。 

但是经过对数据库服务器的内存观察发现出现错误的原因不是上面三个原因造成的。
数据库服务器的总内存为32G,整个服务器的内存应为:
总物理内存>OS使用内存+SGA+PGA;而ORACLE11G中SGA和PGA的最大内存由参数memory_max_target决定;
看了下memory_max_target配置的值为21G,再查看了下操作系统使用的内存达到15G左右,所以memory_max_target的值和
OS使用内存已经大大超过了物理内存值,因此导致出现了错误,将内存合理调整分配后问题得到解决。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24107336/viewspace-1173489/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-06-17

  • 博文量
    13
  • 访问量
    98548