通过AWR结合SQLHC对性能变低的SQL进行分析的过程

ESTDB数据库2020/4/29下午16点附近出现业务卡顿现象。
可以发现问题SQL为(SQL_ID fr0nhywcycrsa)。占问题时段数据库资源消耗的52.69%,通过对此SQL语句的执行效率进行分析,我们发现:

对SQL_ID fr0nhywcycrsa?进行分析,可以发现此SQL存在执行速度快、慢等不同效率的SQL。通常对于此类问题可以使用SQL绑定执行计划的方法来解决。

在进行执行计划绑定后发现存在SQL未使用绑定的执行计划的情况。使用SQLHC工具进行分析,可以发现原因是数据库中存在P1BEMADM及P1FEMADM两个用户,SQL_ID fr0nhywcycrsa两个用户均在执行,即两个用户使用了相同的SQL语句。

绑定执行的原理是使SQL在执行时比如访问A1索引再到B1表的这样的过程,但是两个用户下存在索引名称不一致问题,这时在绑定执行计划时就出现了AAA用户下绑定成功,BBB用户在执行时存在无法找到A1索引问题。

同时同时两个用户下相同名称、结构的表还存在数据量巨大差异、索引名称及建索引的列不一致问题,在不同数据量时会存在使用不同执行计划时效率更好的问题,导致在绑定执行计划时无法找到一个合适的执行计划。

排查步骤如下:

1、数据库集群的基本配置信息
TESTDB系统数据库使用了Oracle RAC架构,使用了HPUX+11.2.0.4版本两节点RAC数据库,业务程序禁用了RAC的负载均衡,主要连接在数据库节点1上进行业务操作。

2.2 故障时段数据库的信息
2.2.1 性能分析(AWR/ASH报告)


由于15点到16点之间问题出现频繁,故主要以该时间段的AWR进行分析,可以发现TOP SQLfr0nhywcycrsa占用较多的CPU资源。

在故障时间段的AWR报告中,可以看到CPU使用率在平均65%左右,主要的资源消耗在看到在SQL_ID fr0nhywcycrsa,占比52%。在下面章节对此SQL执行效率进行分析。

2.2.2 问题SQL的分析
对SQL_ID fr0nhywcycrsa?进行分析,可以发现此SQL存在执行速度快、慢等不同效率的SQL。通常对于此类问题可以使用SQL绑定执行计划的方法来解决。

在进行执行计划绑定后发现存在SQL未使用绑定的执行计划的情况。使用SQLHC工具进行分析,可以发现原因是数据库中存在P1BEMADM及P1FEMADM两个用户,SQL_ID fr0nhywcycrsa两个用户均在执行,即两个用户使用了相同的SQL语句。

绑定执行的原理是使SQL在执行时比如访问A1索引再到B1表的这样的过程,但是两个用户下存在索引名称不一致问题,这时在绑定执行计划时就出现了AAA用户下绑定成功,BBB用户在执行时存在无法找到A1索引问题。

同时两个用户下相同名称、结构的表还存在数据量巨大差异的问题。

两个用户SQL执行效率以及IOT表上相关索引信息如下:

SQL不同执行计划对应的执行速度:
IOT表上索引情况:
IOT表上的数据差异:


三、总结建议与后续处理方案
3.1 故障总结分析
通过分析4/29日下午问题时段的数据,可以发现问题SQL为(SQL_ID fr0nhywcycrsa)。占问题时段数据库资源消耗的52.69%,通过对此SQL语句的执行效率进行分析,我们发现:

对SQL_ID fr0nhywcycrsa?进行分析,可以发现此SQL存在执行速度快、慢等不同效率的SQL。通常对于此类问题可以使用SQL绑定执行计划的方法来解决。

在进行执行计划绑定后发现存在SQL未使用绑定的执行计划的情况。使用SQLHC工具进行分析,可以发现原因是数据库中存在P1BEMADM及P1FEMADM两个用户,SQL_ID fr0nhywcycrsa两个用户均在执行,即两个用户使用了相同的SQL语句。

绑定执行的原理是使SQL在执行时比如访问A1索引再到B1表的这样的过程,但是两个用户下存在索引名称不一致问题,这时在绑定执行计划时就出现了AAA用户下绑定成功,BBB用户在执行时存在无法找到A1索引问题。

同时同时两个用户下相同名称、结构的表还存在数据量巨大差异、索引名称及建索引的列不一致问题,在不同数据量时会存在使用不同执行计划时效率更好的问题,导致在绑定执行计划时无法找到一个合适的执行计划。

3.2优化建议
1.目前由于P1BEMADM用户数据量大,执行效率较差主要集中在此处,因此建议首先对P1BEMADM用户下此SQL相关表及索引进行碎片整理、重建等,从底层数据存储层面进行优化;其次对于此SQL,建议进行优化后再进行SQL执行计划的绑定,保持优化后的SQL执行效率高效、稳定。

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

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

相关文章

kubernetes-PV与PVC

一、PV和PVC详解 当前,存储的方式和种类有很多,并且各种存储的参数也需要非常专业的技术人员才能够了解。在Kubernetes集群中,放了方便我们的使用和管理,Kubernetes提出了PV和PVC的概念,这样Kubernetes集群的管理人员就…

Java_认识String类

在 C 语言中已经涉及到字符串了,但是在 C 语言中要表示字符串只能使用字符数组或者字符指针, 可以使用标准库提 供的字符串系列函数完成大部分操作,但是这种将数据和操作数据方法分离开 的方式不符合面相对象的思想,而字符串应用又…

【C++】二维前缀和

1.题目 2.算法思路 和一维前缀和的方法类似&#xff0c;我们需要预处理一个求和矩阵&#xff0c;然后再求和。 下面是模板&#xff1a; 上面两张图片总结出来了两个公式&#xff0c;这是解决此类问题的关键。 3.代码 #include <iostream> using namespace std; #incl…

MSMG Toolkit深度Windows系统镜像文件个性定制!

MSMG Toolkit,这个听起来略显神秘的名字,在DIY电脑爱好者和系统管理员的圈子中却是大名鼎鼎。这是一款免费的系统定制工具,专为Windows操作系统量身定做,旨在帮助用户轻松移除不必要的系统组件、集成更新、添加驱动程序,以及实现无人值守安装等功能,让每一次系统安装都更…

第三方软件测试机构进行验收测试的好处分享,需多少时间和费用?

在软件开发过程中&#xff0c;软件验收测试是不可或缺的一环。那么&#xff0c;什么是软件验收测试呢?为什么建议选择第三方软件测试机构进行验收测试呢? 软件验收测试是指在软件开发完毕后&#xff0c;由测试人员基于软件需求规格说明书和软件设计文档等材料&#xff0c;对…

扩散模型--论文分享篇

定义&#xff1a;输入文本与图像&#xff0c;生成对图像的描述。 所采用的方法&#xff1a;对比学习、基于跨注意力机制的多模态融合 基于扩散模型的方法&#xff1a;主要介绍的扩散的原理 图像生成任务介绍 GAN VAE 扩散模型 基于GAN的图像生成&#xff0c;一个生成器与判别…

【重制版】Unity Meta Quest 一体机开发(一):前期准备,Meta XR SDK导入和环境配置,配置玩家物体

文章目录 &#x1f4d5;教程说明&#x1f4d5;Meta XR SDK 介绍&#x1f4d5;前期准备⭐开启开发者模式⚡在 Meta 官网申请开发者⚡在 Meta Quest 手机 APP 开启开发者 ⭐电脑需要下载的软件⚡Meta Quest Link&#xff08;以前叫做Oculus PC客户端&#xff09;⚡Oculus ADB Dri…

洗地机有哪些牌子比较好?洗地机排行榜十大品牌

随着洗地机市场竞争的日益激烈&#xff0c;市场上涌现出数百个品牌的产品&#xff0c;涵盖了从入门级到高端的各类价位和功能。这种多样化的选择一方面极大地满足了用户的不同需求&#xff0c;但另一方面也让消费者在挑选时面临一定的困扰。在众多种类的洗地机中&#xff0c;如…

MyBatisPlus学习笔记(二)

条件构造器&#xff1a; Wrapper的作用就是来封装我们当前的条件的 删除用的和查询用的一样&#xff1a;QueryWrapper 和 LambdaQueryWrapper MyBatis-Plus分页插件的配置和使用 Ctrl H 查看当前接口或者类的一个继承关系 Ctrl P 分页插件 乐观锁和悲观锁 通用枚举 代码…

LVGL移植到STM32 MCU平台详细经验笔记教程

1、前言 在之前的一篇文章LVGL在VSCode中安装模拟器&#xff0c;已经对LVGL进行了较为详细的介绍&#xff0c;本文将着重讲解如何移植适配LVGL&#xff0c;让这款图形化GUI库在STM32或其它类型的嵌入式MCU设备上运行起来。 LVGL在VScode中安装模拟器运行配置笔记教程_vscode …

利用Dify+Kimi免费使用Kimi的API接口的操作和使用方法

废话不多说&#xff0c;直接开整kimi-free-api项目。 1、kimi-free-api服务安装启动 支持高速流式输出、支持多轮对话、支持联网搜索、支持智能体对话、支持长文档解读、支持图像OCR&#xff0c;零配置部署&#xff0c;多路token支持&#xff0c;自动清理会话痕迹。 与ChatG…

一文了解知识中台:是什么、作用、如何搭建

在当今信息繁杂的时代&#xff0c;知识对于企业来说犹如宝藏般重要&#xff0c;而知识中台就是宝藏山的藏宝图。关于知识中台&#xff0c;你可能会感到好奇&#xff0c;它究竟是什么&#xff0c;有什么作用&#xff0c;又该如何搭建知识中台呢&#xff1f;接下来就让LookLook同…

MATLAB分类与判别模型算法:基于Fisher算法的分类程序【含Matlab源码 MX_002期】

算法思路介绍&#xff1a; 费舍尔线性判别分析&#xff08;Fishers Linear Discriminant Analysis&#xff0c;简称 LDA&#xff09;&#xff0c;用于将两个类别的数据点进行二分类。以下是代码的整体思路&#xff1a; 生成数据&#xff1a; 使用 randn 函数生成随机数&#x…

基于微信小程序开发的一款 高颜值在线答题刷题考试程序

大家好&#xff0c;我是兔兔。今天给大家分享的内容是&#xff0c;兔兔答题模板三的发布。 兔兔答题模板三是一款基于uniapp开发&#xff0c;后端使用PHP&#xff0c;前端使用图鸟UI的微信答题小程序应用程序。相必兔兔答题模板一和兔兔答题模板二&#xff0c;进行了系统架构的…

上位机图像处理和嵌入式模块部署(f103 mcu中main入口函数误解)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 学习stm32代码的时候&#xff0c;关于汇编文件&#xff0c;大家一般都会参考官方给出的汇编文件。通常情况下&#xff0c;不会自己去写汇编文件。特…

凡事有利有弊,如果生了一个自闭症的小孩,请说出有利的部分 :独特、专注力、诚实和直接,记忆力

生育一个自闭症小孩可能带来一些独特的优势和积极的方面&#xff0c;尽管也会面临许多挑战。以下是一些可能的有利方面&#xff1a; 独特的视角&#xff1a;自闭症儿童通常有独特的思维方式和视角&#xff0c;他们可能在某些方面比普通人更敏锐。这种独特性可以带来创新的解决方…

Nginx/阿里云/二级域名的配置和使用

阿里云域名解析配置如下&#xff1a; nginx配置如下&#xff1a; 访问地址&#xff1a; zhadmin.iotzzh.com image.png

20240529瑞芯微官方Toybrick TB-RK3588开发板的Debian11安装iperf并测试网速

20240529瑞芯微官方Toybrick TB-RK3588开发板的Debian11安装iperf并测试网速 2024/5/29 15:09 服务器端&#xff1a;瑞芯微官方Toybrick TB-RK3588开发板&#xff1a;Debian11 客户端&#xff1a;笔记本电脑&#xff1a;Ubuntu20.04 两者通过千兆交换机连接&#xff01; toybr…

小白跟做江科大32单片机之蜂鸣器

1.复制之前编写的工程库项目&#xff0c;详细工程库创建过程如下链接&#xff1a; 小白跟做江科大32单片机之LED闪烁-CSDN博客https://blog.csdn.net/weixin_58051657/article/details/139295351?spm1001.2014.3001.55022.按照江科大老师给的图片进行连接蜂鸣器 3.修改main.c…

VRTK4教程 一:资源导入、Unity设置、连接头盔

文章目录 VRTK4的分包导入VRTK4的资源包unity设置连接头盔 VRTK4的分包 vrtk4的资源包和旧版不同&#xff0c;采用了分包导入的思想&#xff0c;我们要用什么功能&#xff0c;就导入什么包&#xff0c;可以有效减小程序体积 如下图&#xff0c;已经导入的vrtk包会显示在Packag…