ORA-12853和ORA-04031 large pool 不足错误解决

php中文网
发布: 2016-06-07 16:09:04
原创
3501人浏览过

ORA-12801: error signaled in parallel query server P139ORA-12853: insufficient memory for PX buffers: current 274880K, m

ora-12801: error signaled in parallel query server p139

ORA-12853: insufficient memory for PX buffers: current 274880K, max needed 19722240K

ORA-04031: unable to allocate 65560 bytes of shared memory ("large pool","unknown object","large pool","PX msg pool")
今天接到这么一个错误,可以看出以上是因为并行查询导致了大池不足造成。

可先了解下 large pool:
大池是SGA中的一块可选内存池,大池主要提供了大内存段,大池最大大小为4G。根据需要时配置,主要用到大池的情况:

  1.  用于共享服务(Shared Server MTS方式中)的会话内存和Oracle分布式事务处理的Oracle XA接口
  2.  使用并行查询(Parallel Query Option PQO)时
  3. I/O服务器进程用的内存(缓冲)
  4. Oracle备份和恢复操作(启用了RMAN时)

大池没有LRU列表。这和共享池中的保留空间不同,,保留空间和共享池中其他分配的内存使用同样的LRU列表。

Vheer
Vheer

AI图像处理平台

Vheer 260
查看详情 Vheer

大块内存从不会换出大池中,内存必须是显式的被每个会话分配并释放。

 解决过程:1.检查是否开启了并行.
            select * from dba_tables where degree1;
            select * from dba_indexes where degree1;
          2.发现是表开启了并行,因此可关闭并行:
            ALTER TABLE XX.XXX NOPARALLEL;
          3.如果large pool大小不足,可根据实际需求调整大小:
            ALTER SYSTEM SET LARGE_POOL_SIZE=xxM scope=spfile;

 本文永久更新链接地址

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号