oracle px execute reply,(转)PX Deq: Execute Reply 案例说明
1 背景:
Oracle 数据库在执行sql时,会自动的选择较优的执行计划。但有时oracle自动选择的执行计划不是最佳的执行计划,在执行的时候可能会造成效率问题,甚至会hang住。
2 问题提出:
A省近期20多天来在进行boss同步日志的生成时,经常出现程序长时间的运行没有相应,初步怀疑程序中的sql:
SQL_TEXT--------------------------------------------------------------------------------
SELECT a.column01,a.column02,a.column03,a.column04,b.column05,to_char(a.column06,'yyyymmddhh24miss'),a.column07,b.column08,c.column09,a.column10,a.column11,b.column12,b.column13,a.column14,a.column15FROMbig_table01a,small_table01b,small_table02bWHERE((((a.myid> :b0ANDa.myid< :b1)ANDa.servid=b.servid)ANDa.icpid=c.icpid)ANDa.icpid=b.icpid)ORDERBYa.myid
中涉及的表有锁表现象。
3 问题分析:
2007年5月18号登录A省业务数据库检查,没有发现sql中的表有锁表现象,而且由于程序仅仅是将查询的结果输出到日志文件,就算是锁表也不会影响到select的过程。
在进一步的检查中发现,数据库中挂死程序对应的等待事件为:
EVENT----------------------
PX Deq: Execute Reply
该等待事件是oracle在执行并发执行(PARALLEL EXECUTE)时,分成多个子进程进行操作,必须等待所有的子进程完成后才返回执行结果。
查询该sql的执行计划:
ExecutionPlan----------------------------------------------------------
……(略正常部分执行计划)1PARALLEL_TO_SERIALSELECTA1.C0C0,A1.C1C1,A1.C2C2,A1.C3C3,A1.C4C4,A1.C5C5,A1.C6C6,A1.C7C7,A2PARALLEL_TO_PARALLELSELECT/*+ ORDERED NO_EXPAND USE_NL(A2) INDE
X(A2 "PK_ICP") */A1.C1C0,A1.C11C13PARALLEL_COMBINED_WITH_PARENT4PARALLEL_COMBINED_WITH_PARENT5PARALLEL_COMBINED_WITH_PARENT6PARALLEL_COMBINED_WITH_PARENT7PARALLEL_COMBINED_WITH_PARENT8PARALLEL_COMBINED_WITH_PARENT9PARALLEL_FROM_SERIAL11PARALLEL_FROM_SERIAL13PARALLEL_COMBINED_WITH_PARENT14PARALLEL_COMBINED_WITH_PARENT
从上面的执行计划可以看到,以上的sql确实走了并发执行。由于BIG_TABLE01是分区表,oracle认为同时的对各个分区做并发执行是最优的执行计划,由于A省misc数据库是RAC机制,执行的时候,相关的子进程也被分发到另一个节点上,可能在长时间执行的过程中(执行频率比较高,每分钟执行一次),某些分发到另一节点的子进程找不到对应的上级进程,而上级进程需等待子进程的返回结果,于是就出现了长时间的等待,造成了程序长期的挂住——这也就是我们一开始看到的PX Deq: Execute Reply等待事件。
4 问题解决:
由于oracle采用了不恰当的执行计划,所以才导致执行的时候长时间的等待。因此,在这里我们用alter table big_table01 noparallel;/ alter index IDX_SUBNHISTORY_HISTORYID noparallel命令取消表和索引的并发执行属性。通过观察其执行计划,发现其已经不再走并发执行了:
重启应用后,运行15小时以上没有发现挂死现象了。
5 改进与预防措施:
该问题可能是A省的特殊问题,同样的sql在B省业务数据库中(也是rac)执行,观察其执行计划,看到其sql没有走并发执行。因此作为个案处理
oracle px execute reply,(转)PX Deq: Execute Reply 案例说明相关推荐
- html px转换rem,在线px转rem工具代码
px转rem ,部署到本地服务器即可运行. px转rem body{font-family:"\5FAE\8F6F\96C5\9ED1",Helvetica;} ul{ list- ...
- vscode px转换rem插件 px to rem rpx vw (cssrem)
vscode px转换rem插件px to rem & rpx & vw (cssrem) 这个插件非常好用,我给3星! 选中按Alt + Z可以px和rem转换
- 【ORACLE 高可用】 ORACLE STREAM 基于单表的流复制 配置 案例
ORACLE STREAM 演示基于单表的流复制案例 主数据库: 操作系统:REDHAT 5 IP地址:192.168.10.87 数据库:Oracle 11.2.0.3 ORACLE_SID:DB1 ...
- Oracle 11g RAC 添加新节点及故障解决案例
Oracle 11g RAC 添加新节点及故障解决案例 系统环境: 操作系统:RedHat EL55 集群: Oracle 11g GI Oracle: Oracle 11gR2 一.配 ...
- Oracle数据二进制传输,学习笔记:Oracle数值函数 十进制与二进制相互转换的函数使用案例...
天萃荷净 ORACLE 十进制与二进制互转函数,开发DBA向我咨询数值转换的方法,Oracle数值转换函数NUMBER_TO_BIT等函数可用 1.Oracle数值转换之十进制转换二进制 CREATE ...
- oracle分区交换速度,oracle交换分区对数据的加载提速案例
author:skate time:2012/07/16 oracle交换分区对数据的加载提速案例 环境: os:linux db:oracle10g 其中一个库的数据加载非常慢,如何能提高数据的加载 ...
- 13日直播预告丨Oracle多套库整合到多租户平台案例分享
Oracle多套库整合到多租户平台案例分享-1月13日20:00 Oracle推出的19c版本作为12cR2的长期支持版本后,很多客户都逐渐将数据库迁移或者升级到19c.你是否也需要将数据库升级到19 ...
- oracle 下bdump占用大,【学习笔记】Oracle oradebug 利用oradebug释放被删除文件空间的案例...
天萃荷净 利用oradebug释放被删除文件空间,运维DBA反映系统空间不足,由于trace跟踪文件占用,删除后不能释放空间,分析原因为oracle进程句柄占用 在很多时候,检查系统时候发现,由于某个 ...
- Oracle数据库服务器IO高的分析方案和案例探讨
Oracle数据库服务器IO高的分析方案和案例探讨 本文原题<ORACLE数据库服务器IO高的分析方案和案例探讨> 目录: 慧眼识珠--服务器磁盘这么繁忙,到底是谁干的? 谨记于心--OR ...
- 查看oracle 导出进程,【学习笔记】Oracle 通过v$session查看imp进程信息的案例
天萃荷净 运维DBA反映需求在执行Oracle imp导入时需要查看导入的进程信息,通过v$session分析imp导入进程在服务器端v$session中的username列不是imp登陆用户名,而是 ...
最新文章
- 帝国cms二次开发之文件夹的功能说明
- ramdisk plus v11.5安装内存虚拟硬盘
- python数据整理代码_熬夜整理的资料:分享Python数据可视化图表代码和案例给大家...
- 8953n的user获取权限以及remount
- 如何将软件限制策略发挥大作用
- 小程序确定取消弹窗_小程序开发之弹出框
- Nand Flash Yaffs系统大量写入数据失败问题的解决方法。
- HDU2136 Largest prime factor
- Python基础(随笔)
- Android 8.0学习(16)---8.0 的Doze模式白名单路径
- [Hash应用问题] 例3.2 给出n个整数,按从大到小的顺序输出前m大的数
- android遥控器用什么测试,Android编程调用红外线遥控功能示例
- Java程序猿修炼之道 之 Logging(3/3) - 怎么分析Log
- HDOJ 1166 HDU 1166 敌兵布阵 ACM 1166 IN HDU
- 部署SCOM2012 SP1
- UBUNTU设置SSH通过密钥登陆
- 为什么 iPhone 的原装充电线容易坏?
- 【深度学习Deep Learning系列】word2vec和doc2vec
- PicGo简介及其下载 安装 配置 使用 卸载
- dcx矩阵 - 打表 - 找规律
热门文章
- [转载]autorun.inf病毒源代码
- 华为2018年服务器销售额,2018Q4华为服务器收入全球第三 同比增45.9%
- 看了下华为工资,我不加班了
- linux公社_如何在Linux中安装和使用dig和nslookup命令
- Codeforces Round #831 (Div. 1 + Div. 2) problem C
- 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十五║初探SSR服务端渲染(个人博客二)...
- nat流量,业务流量_10种增加在线业务流量的方法
- 为什么php-fpm会使用内存一直增加_百度输入法重大BUG:内存占用随用户词库增大而暴涨...
- 《论文阅读》THE CURIOUS CASE OF NEURAL TEXT DeGENERATION
- 尚硅谷nodejs入门教程_笔记