oracle 并行用索引,分区索引并行导致的性能问题

问题现象;生产环境报ORA-17144=statement handle not executed

然后我把sql抓出来手工运行一遍执行计划如下:----------------------------------------------------------

Plan hash value: 644608605

-------------------------------------------------------------------------------------------------------------------------------

| Id  | Operation      | Name      | Rows  | Bytes | Cost (%CPU)| Time     | Pstart| Pstop |

-------------------------------------------------------------------------------------------------------------------------------

|   0 | SELECT STATEMENT      |       |     1 |    75 |   120K(1)| 00:24:10 |       |       |

|   1 |  SORT AGGREGATE       |       |     1 |    75 |    |      |       |       |

|   2 |   NESTED LOOPS      |       | 58896 |  4313K|   120K(1)| 00:24:10 |       |       |

|   3 |    NESTED LOOPS       |       | 58896 |  4313K|   120K(1)| 00:24:10 |       |       |

|   4 |     PARTITION RANGE SINGLE      |       | 58896 |  2300K|  2984(1)| 00:00:36 |    12 |    12 |

|   5 |      TABLE ACCESS BY LOCAL INDEX ROWID| t1   | 58896 |  2300K|  2984(1)| 00:00:36 |    12 |    12 |

|*  6 |       INDEX RANGE SCAN      | idx_1 | 58896 |       |  2984(1)| 00:00:36 |    12 |    12 |

|*  7 |     INDEX UNIQUE SCAN      | t2_UNIQUE1   |     1 |       |     1(0)| 00:00:01 |       |       |

|*  8 |    TABLE ACCESS BY GLOBAL INDEX ROWID | t2      |     1 |    35 |     2(0)| 00:00:01 | ROWID | ROWID |

-------------------------------------------------------------------------------------------------------------------------------

这个执行计划非常正常,400ms返回结果,于是我抓了出问题时的awr,发现这个sql跑了2分钟,于是我猜测执行计划和当前运行的执行计划不一致,然后sql_id 抓取了当时运行的执行计划如下

SQL> set pages 200 lines 200;

SELECT *

FROM TABLE(dbms_xplan.display_cursor(sql_id          => '1hqcmrpa790c3',

cursor_child_no => 0,

4                                         format          => 'ALL ALLSTATS LAST NOTE ADVANCED -projection'));

PLAN_TABLE_OUTPUT

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

SQL_IDcku6z254k95z5, child number 0

-------------------------------------

select coalesce(sum(u.money),0) from t1 uleft

join t2 r on u.orderform_flow_no = r.serialnumber     WHERE

u.create_time >= to_date(:1,'yyyy-mm-dd hh24:mi:ss')   and

u.create_time 

r.service_id = 'unicomhb'    and r.status = 2

Plan hash value: 28991375

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

| Id  | Operation   | Name   | E-Rows |E-Bytes| Cost (%CPU)| E-Time   | Pstart| Pstop | TQ  |IN-OUT| PQ Distrib |  OMem |  1Mem | Used-Mem | Used-Tmp|

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

|   0 | SELECT STATEMENT   |   |    |    |100K(100)|    |    |    |     |    |    | | |    |      |

|   1 |  SORT AGGREGATE    |   |  1 | 75 | |    |    |    |     |    |    | | |    |      |

|*  2 |   PX COORDINATOR   |   |    |    | |    |    |    |     |    |    | | |    |      |

|   3 |    PX SEND QC (RANDOM)   | :TQ10002   |  1 | 75 | |    |    |    |  Q1,02 | P->S | QC (RAND)  | | |    |      |

|   4 |     SORT AGGREGATE   |   |  1 | 75 | |    |    |    |  Q1,02 | PCWP |    | | |    |      |

|*  5 |      FILTER   |   |    |    | |    |    |    |  Q1,02 | PCWC |    | | |    |      |

|*  6 |       HASH JOIN    |   |  87509 |  6409K|100K  (1)| 00:20:12 |    |    |  Q1,02 | PCWP |    |  1740K|  1638K| 2076K (0)|      |

|   7 |        PX RECEIVE   |   |  87509 |  3418K|127   (0)| 00:00:02 |    |    |  Q1,02 | PCWP |    | | |    |      |

|   8 | PX SEND HASH   | :TQ10001   |  87509 |  3418K|127   (0)| 00:00:02 |    |    |  Q1,01 | P->P | HASH  | | |    |      |

|   9 |  PX PARTITION RANGE ITERATOR   |   |  87509 |  3418K|127   (0)| 00:00:02 |KEY |KEY |  Q1,01 | PCWC |    | | |    |      |

|  10 |   TABLE ACCESS BY LOCAL INDEX ROWID| t1   |  87509 |  3418K|127   (0)| 00:00:02 |KEY |KEY |  Q1,01 | PCWP |    | | |    |      |

|* 11 |    INDEX RANGE SCAN   | idx_1 |  87509 |    |127   (0)| 00:00:02 |KEY |KEY |  Q1,01 | PCWP |    | | |    |      |

|  12 |        BUFFER SORT   |   |    |    | |    |    |    |  Q1,02 | PCWC |    |   126M|  3809K|   97M (0)|  113K|

|  13 | PX RECEIVE   |   |   9157K|305M|100K  (1)| 00:20:10 |    |    |  Q1,02 | PCWP |    | | |    |      |

|  14 |  PX SEND HASH   | :TQ10000   |   9157K|305M|100K  (1)| 00:20:10 |    |    |     | S->P | HASH  | | |    |      |

|  15 |   PARTITION RANGE ALL   |   |   9157K|305M|100K  (1)| 00:20:10 |  1 | 19 |     |    |    | | |    |      |

|* 16 |    TABLE ACCESS FULL   | t2   |   9157K|305M|100K  (1)| 00:20:10 |  1 | 19 |     |    |    | | |    |      |

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

果不其然,上面全是并行扫描,这里也不用纠结这个并行为什么会导致ora-17144错误,然后我立马想到用sql profile 将执行计划固定住,但是绝对不太合理,至于为什么并行还要找到问题说在,

于是我查询了表和该表索引的并行度,发现分区index上开启了并行,问题找到了,通过

alter index index_name noparallel关闭了并行后,业务恢复正常。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/561926.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTML+CSS+JS实现 ❤️贪吃蛇游戏、你能吃过我?❤️【源码送给你一起来玩-建议收藏】

🍅 作者主页:Java李杨勇 🍅 简介:Java领域优质创作者🏆、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我,都给你】 🍅 欢迎点赞 👍 收藏 ⭐留言 &#x1f…

ORACLE 12C 插入数据遇到 Error getting generated key or setting result to parameter object错误

今天用springboot和oracle的时候遇到以前的老项目保存数据的时候显示报错 Error getting generated key or setting result to parameter object 根据这句话的字面理解意思就是 获取生成的键或将结果设置为参数对象时出错 看了下网上的解决方法主要是这样 第一种方式&am…

oracle02070,ORA-02070:database does not support semijoin错误 | 信春哥,系统稳,闭眼上线不回滚!...

前段时间小姨子遇到了ORA-02070:database does not support semijoin错误:--以下是应用程序报错:at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)at com.ibm.io.async.Resul…

基于Echarts+HTML5可视化数据大屏展示——智慧物流服务中心

🍅 作者主页:Java李杨勇 🍅 简介:Java领域优质创作者🏆、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我,都给你】 🍅 欢迎点赞 👍 收藏 ⭐留言 &#x1f…

基于Echarts+HTML5可视化数据大屏展示—大数据管理平台中心

🍅 作者主页:Java李杨勇 🍅 简介:Java领域优质创作者🏆、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我,都给你】 🍅 欢迎点赞 👍 收藏 ⭐留言 &#x1f…

数据从一个Oracle导到另一个,oracle拷贝数据导另一个用户

exp web_hs/web_hsJIUHUA fileD:\abcd.dmp alter user web_esky identified by web_esky; (修改用户密码)imp web_esky/web_eskyJIUHUA fully filed:\abcde.dmp ignorey //东华的数据库1 先从svn上下载下来 我的svn用户名:wy 密码:wy9302422 用任意…

基于Echarts+HTML5可视化数据大屏展示—大数据管理平台中心(二)

🍅 作者主页:Java李杨勇 🍅 简介:Java领域优质创作者🏆、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我,都给你】 🍅 欢迎点赞 👍 收藏 ⭐留言 &#x1f…

提示未检测到 oracle,Oracle RAC [INS-40406] 未检测到现有的 Oracle Grid Infrastructure 软件...

[INS-40406] 未检测到现有的Oracle Grid Infrastructure 软件问题描述:升级过程中强制中断升级导致的[INS-40406]报错信息如下[INS-40406] 安装程序在系统中未检测到现有的 Oracle Grid Infrastructure 软件。原因 - 安装程序未检测到任何要升级的现有 Oracle Clust…

基于Echarts+HTML5可视化数据大屏展示—新能源车联网综合大数据平台

🍅 作者主页:Java李杨勇 🍅 简介:Java领域优质创作者🏆、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我,都给你】 🍅 欢迎点赞 👍 收藏 ⭐留言 &#x1f…

oracle模糊查询很慢,采用全文索引解决模糊查询速度慢的问题

众所周知,使用 like 进行模糊查询速度极差,包括 like AAA% ,like %AAA,like %AAA%,like %A%A%以及采用“_”进行单字符匹配的那些模糊查询。网上有很多文章讲到如何提高like查询,提到 like AAA%能够使用到索…

基于Echarts+HTML5可视化数据大屏展示—大屏数据统计

🍅 作者主页:Java李杨勇 🍅 简介:Java领域优质创作者🏆、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我,都给你】 🍅 欢迎点赞 👍 收藏 ⭐留言 &#x1f…

oracle10g支持数据泵么,Oracle 10g使用数据泵(EXPDP和IMPDP)。

1.1.1 expdp使用使用EXPDP工具时,其转储文件只能被存放在DIRECTORY对象对应的OS目录中,而不能直接指定转储文件所在的OS目录.因此使用EXPDP工具时,必须首先建立DIRECTORY对象.并且需要为数据库用户授予使用DIRECTORY对象权限.首先得建DIRECTORY:SQL> conn /as sysdbaSQL>…

基于Echarts+HTML5可视化数据大屏展示—大数据统计展示大屏

🍅 作者主页:Java李杨勇 🍅 简介:Java领域优质创作者🏆、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我,都给你】 🍅 欢迎点赞 👍 收藏 ⭐留言 &#x1f…

sqlserver oracle对比,sqlserver和oracle常用函数对比

sqlserver和oracle常用函数对比数学函数1.绝对值S:select abs(-1) valueO:select abs(-1) value from dual2.取整(大)S:select ceiling(-1.001) valueO:select ceil(-1.001) value from dual3.取整(小)S:select floor(-1.001) valueO:select floor(-1.001) value from dual4.取…

基于Echarts+HTML5可视化数据大屏展示—大数据运维总览图

🍅 作者主页:Java李杨勇 🍅 简介:Java领域优质创作者🏆、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我,都给你】 🍅 欢迎点赞 👍 收藏 ⭐留言 &#x1f…

基于Echarts+HTML5可视化数据大屏展示—物联网平台数据统计平台

🍅 作者主页:Java李杨勇 🍅 简介:Java领域优质创作者🏆、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我,都给你】 🍅 欢迎点赞 👍 收藏 ⭐留言 &#x1f…

windos 2008安装php5.3,windows 2008 + php 5.3.29配置

windows 2008 php的教程网上一大堆,也很详细,主要步骤就是配置IIS,配置PHP环境。参照下面这两篇文章把IIS和PHP安装好。http://www.phpabc.cn/win2008r2-iis7-php5-fastcgi-mysql5-install-howto.html一、环境说明:操作系统&…

基于Echarts+HTML5可视化数据大屏展示—运营大数据平台

🍅 作者主页:Java李杨勇 🍅 简介:Java领域优质创作者🏆、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我,都给你】 🍅 欢迎点赞 👍 收藏 ⭐留言 &#x1f…

基于Echarts+HTML5可视化数据大屏展示—设备环境监测平台大数据平台

🍅 作者主页:Java李杨勇 🍅 简介:Java领域优质创作者🏆、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我,都给你】 🍅 欢迎点赞 👍 收藏 ⭐留言 &#x1f…

linux内核创建ubi,UBI文件系统制作和挂载

关于参数可以参考attach的命令输出:rootubuntu:~# ubiattach /dev/ubi_ctrl -m 4 -d 0UBI device number 0, total 4000 LEBs (516096000 bytes, 492.2 MiB), available 0LEBs (0 bytes), LEBsize 129024 bytes (126.0 KiB)rootubuntu:~#ubinize.cfg文件[ubifs]mod…