[Oracle故障处理]记一次PX msg pool 4031错误的处理
时间:2022-07-23
本文章向大家介绍[Oracle故障处理]记一次PX msg pool 4031错误的处理,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
这个专题讲一些日常运维的异常处理
今天讲一个ORA-4031错误的处理过程
1. 现象
今天执行一个表分析的语句
SQL> exec dbms_stats.gather_table_stats(ownname => 'username',tabname => 'tablename',estimate_percent=>dbms_stats.auto_sample_size, method_opt => 'for all columns size AUTO', degree =>3, cascade => true)
遇到了如下错误
ORA-04031: unable to allocate 4328 bytes of shared memory ("shared pool","unknown object","sga heap(1,0)","PX msg pool")
2. 原因查找
看到4031我们第一时间想到的是shared pool不够用了
我们可以查看shared pool的使用率,发现还有300多M
接下来我们看括号里面的内容 他提示的是PX msg pool这个池
从字面上看应该是并行相关的区域
我们知道并行相关的东西是应该放在large pool里面的
怎么会从shared pool中分配呢
这是我们展开搜索功能,找到一个网站
上面说的是这个特性是从10g开始的(待验证)
而我们这个数据库是9i的
3. 问题解决
既然找到了一个方向,接下里我们验证下,我们将degree 设为1 ,这样就不使用并行了
SQL> exec dbms_stats.gather_table_stats(ownname => 'usernmae',tabname => 'tabelname',estimate_percent=>dbms_stats.auto_sample_size, method_opt => 'for all columns size AUTO', degree =>1, cascade => true)
这时分析成功
PS:发现没有并行速度还更快了~
4.参考链接
http://dbakevin.blogspot.com/2012/06/04031-and-large-pool-parallel-and-px.html
http://www.zhaibibei.cn/oralce/oracle-parameter/large_pool_size/
- 用深度学习硬件的闲置时间,来挖比特币
- 深度学习:如何理解tensorflow文本蕴含的原理
- 重磅!腾讯与科大讯飞技术共创,Google ProtoBuf进入TARS家族!
- 深度学习与R语言
- 在Keras中展示深度学习模式的训练历史记录
- 分析漏洞利用工具包 Archie和Astrum工具包
- 手游热更新方案xLua开源:Unity3D下Lua编程解决方案
- 如何为Keras中的深度学习模型建立Checkpoint
- Dubbo 源码解析 —— Zookeeper 创建节点
- 熔断器 Hystrix 源码解析 —— 断路器 HystrixCircuitBreaker
- 源码级别解读 mybatis 插件
- 在WebKit中并行加载外部脚本译:
- 100行代码,搞定http监控框架
- 【腾讯反病毒实验室】深度剖析APT28最新作品
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- dubbo本地直连调试注意点
- Tomcat的使用及服务器的一些基础知识
- fastJson 之JSONObject.toJavaObject()方法不能解析嵌套自定义list对象
- 文件包含漏洞学习总结(结尾有实例)
- 树莓派基础实验17:温度传感器实验
- Java Servlet详解(体系结构+注解配置+生命周期)
- RabbitMq如何确保消息不丢失
- 《sql必知必会》——读书笔记(4)
- AkShare-债券数据-国债期货可交割券相关指标
- Linux From Scratch
- 介绍一款 API 敏捷开发工具
- java线程池(五):ForkJoinPool源码分析之一(外部提交及worker执行过程)
- JavaScript中的匿名函数、闭包和BOM
- 【Vue.js】Vue.js中的事件处理、过滤器、过渡和动画、组件的生命周期及组件之间的通信
- 树莓派基础实验18:声音传感器实验