一次DB Time过高告警处理

简介:

一、背景

        某个数据库在20200312 14:00:28-15:00:18期间,监控系统发出DBTime超出阈值告警,信息如下:

image

二、问题分析

1、获取期间AWR报告,进行分析

1.1、查看Elapsed、DB Time指标

        通过AWR可以看到,服务器规格是4CPU16G,Elapsed*CPUs=239.36min远远小于DB Time(22,862.47min),反应awr统计的时间段数据库很繁忙。

image

1.2、查看Load Profile

        从下图看到,DBtime中DB cpu所占比例其实并不大,DBTime大部分是在DB Wait Time上,从Top 10 Foreground Events by Total Wait Time可以看到主要是在cursor: pin S wait on X等待上。

image

1.3、查看Top 10 Foreground Events by Total Wait Time

        从截图中可以看出,cursor: pin S wait on X等待事件占了DB time 86.9%,造成这个等待事件最常见的原因就是sql并发执行,可以从Wait Classes by Total Wait Time、SQL Statistics部分反应上面的问题。

image

1.4、查看Wait Classes by Total Wait Time、SQL Statistics

        查看下面2个截图,可以发现当前数据库并发等待事件比较突出,之后查看SQL Statistics,发现是和用户登陆权限校验的sql有关,正常来讲,第二个截图中的一些sql不会造成cursor: pin S wait on X等待事件,这个需要在更具ash报告查看下,具体是哪些sql造成cursor: pin S wait on X。

image


image


        从下面的截图来看,session数的变化也能印证可能是用户并发访问数据库引起的。

image

2、查看ash报告

        通过awr分析,问题基本可以确定是用户并发访问数据库频繁执行sql引起cursor: pin S wait on X,但是哪些sql引起,需要从ash报告中查看。
        通过下面截图可以看到,sql_id为39cbpxu5sp7zt和1dxpz6s60pyy2是造成这个现象的主要原因,接下来需要确认这两个sql频繁执行原因。

image

2.3、了解sql执行的情况

    将上面2个sql反馈给客户后,并且询问这个期间用户登陆数据库的情况,客户反馈:
        ①第一个sql是用户登陆数据库做权限校验用的,第二个是获取病人信息使用的,这两个sql都是在用户登录时触发的
        ②sql中使用了dblink,awr期间dblink有异常,不能正常执行
        ③sql不能执行,用户端端获取不到结果,护士持续发起请求,连接数据库,最终导致了上面的情况

3、总结

        上面的情况大致就是,客户端查询信息,没有得到结果,之后不断重试,并发访问,在数据库端,sql中使用了dblink,dblink在那个期间出现问题,不能执行,最终出现了上面的问题。上面如果有不正确的地方欢迎大家指正。

相关文章
|
Python Windows
Windows定时任务 每隔一段时间(最小到秒级)执行一次指定的Python脚本
Windows定时任务 每隔一段时间(最小到秒级)执行一次指定的Python脚本
Windows定时任务 每隔一段时间(最小到秒级)执行一次指定的Python脚本
|
网络协议 安全 Linux
linux配置防火墙 Centos7下 添加 端口白名单
linux配置防火墙 Centos7下 添加 端口白名单
1879 0
|
域名解析 监控 算法
阿里云拨测:主动探测Web应用质量,助力提升用户体验
阿里云拨测是一种针对互联网应用(Web页面、网络链路等)进行应用性能和用户体验监测的服务,无需嵌码即可为云上用户提供开箱即用的企业级主动拨测式应用监测解决方案。
8202 122
阿里云拨测:主动探测Web应用质量,助力提升用户体验
|
消息中间件 Java Kafka
实时计算 Flink版操作报错之Apache Flink中的SplitFetcher线程在读取数据时遇到了未预期的情况,该怎么解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
11月前
|
自然语言处理 语音技术
交大x-lance跨媒体语言智能实验室等联合开源F5-TTS!零样本语音复刻,生成流畅,情感丰富!
上海交大x-lance跨媒体语言智能实验室联合剑桥大学、吉利汽车研究院(宁波)公司开源了一种基于流匹配的扩散变换器(Diffusion Transformer,DiT)的完全非自回归TTS模型-F5-TTS。
|
存储 Oracle 关系型数据库
MySQL8 中文参考(二十九)(2)
MySQL8 中文参考(二十九)
364 9
|
敏捷开发 测试技术 UED
软件测试中的探索性测试方法
在软件开发过程中,测试是确保产品质量的重要环节。本文将探讨一种常被忽视但极其重要的测试方法——探索性测试。通过分析其定义、优势及实际应用案例,揭示如何更有效地发现软件缺陷,提升软件质量。
218 0
|
网络协议 Linux 网络安全
Centos7 防火墙策略rich-rule 限制ip访问-----图文详解
Centos7 防火墙策略rich-rule 限制ip访问-----图文详解
2686 0
|
SQL Oracle 关系型数据库
Oracle-使用awrrpt.sql生成AWR报告
Oracle-使用awrrpt.sql生成AWR报告
603 0
|
弹性计算
阿里云服务器2核2G、2核4G、4核8G、4核16G配置最新收费标准价格表
阿里云服务器2核2G、2核4G、4核8G、4核16G配置最新收费标准价格表,轻量2核2G3M服务器61元一年、2核4G4M带宽165元1年,云服务器4核16G10M带宽26元1个月、149元半年,阿里云ECS云服务器2核2G3M新老用户均可99元一年续费不涨价,企业用户2核4G5M带宽199元一年