概述

最近HR数据库比较慢,拿了其中一段时间的awr报告来分析,发现有一个等待事件:connection management call elapsed time,虽然占比不是很大,不过也是有点奇怪,下面继续分析一下。

AWR是我们进行Oracle性能调整的主要工具之一;一般情况而言,时间是衡量性能好坏的一个重要指标,AWR中有很多与时间相关的内容和指标。先来看一下Oracle定义的响应时间公式:

Response time = Service time + Wait time

服务时间(Service time)就是进程“真正”在cpu上运行的时间,可以简单理解为AWR中的cpu time/db cpu,服务时间包括前台进程(Server process)和后台进程(Backgroud process)消耗的时间。等待时间就是等待某种资源的时间耗费,比如等待锁资源的耗费,可以简单对应为awr中的wait time, 等待时间包括很多类型,一般最常见的是IO等待和并发等待,比如进程等待从物理磁盘读取数据块到内存中的等待。 Awr中的db time可以简单对应为Response time;


1、db time与cpu time

首先需要说明一个概念:时间片。现代操作系统(unix/Linux)将cpu资源划分成时间片(cpu slice)为单位来使用,一般是一个很小的值,一般为10ms。操作系统使用一个调度程序(比如linux的CFS调度器,来协调各个进程使用cpu资源。更详细的内容超出了本文的讨论范围,有兴趣的可以参考操作系统相关的文档。对于操作系统而言,一个进程要么在cpu中运行,要么处于等待队列中;注意这里的“等待”并不完全等同于os中的等待。

DB time是整个数据库用户进程消耗的总时间,可用于衡量一个数据库整体负载


2、Time Model Statistics

在awr中,Time Model Statistics用于回答“到底前台进程消耗了多少时间?”,“语句解析消耗了多少时间?”等诸如此类的问题

真于用于sql执行的时间(sql execute elapsed time)占到了84.06%;这个比率是稍微有点低的,作来一个相对正常的系统,这一比率不应低于90%甚至更高!我们看到用于连接管理(connection management call elapsed time)的时间为7.49%,用于sql解析(parse time elapsed)的时为7.1%,且其中硬解析sql(hard parse elapsed time)的时间为6.92%。

从这几个方面来看,我们可以作一些合理的推测:

1)系统是否存在频繁连接和断开连接的情况?如果存在这种情况,是否是网络不稳定,或者监听程序存在问题造成了这个情况?还有就是中间件到数据库服务器的连接池是否出了问题?

2)Sql语句解析不合理;这是否因为共享池设置过小?应用程序是否未使用绑定变量?还是因为开启了SGA自动管理,带来了严重的内存颠簸现象?


3、查看db time

select * from (select A.SNAP_ID, A.INSTANCE_NUMBER, B.BEGIN_INTERVAL_TIME + 0 BEGIN_TIME, B.END_INTERVAL_TIME + 0 END_TIME, ROUND(VALUE - LAG(VALUE, 1, '0') OVER(ORDER BY A.INSTANCE_NUMBER, A.SNAP_ID)) "DB TIME" FROM (SELECT B.SNAP_ID, INSTANCE_NUMBER, SUM(VALUE) / 1000000 / 60 VALUE FROM DBA_HIST_SYS_TIME_MODEL B WHERE B.DBID = (SELECT DBID FROM V$DATABASE) AND UPPER(B.STAT_NAME) IN UPPER(('DB TIME')) GROUP BY B.SNAP_ID, INSTANCE_NUMBER) A, DBA_HIST_SNAPSHOT B WHERE A.SNAP_ID = B.SNAP_ID AND B.DBID = (SELECT DBID FROM V$DATABASE) AND B.INSTANCE_NUMBER = A.INSTANCE_NUMBER) WHERE TO_CHAR(BEGIN_TIME, 'YYYY-MM-DD') >= TO_CHAR(SYSDATE - 7, 'YYYY-MM-DD') ORDER BY BEGIN_TIME DESC;

维持在相对较高的水平。


4、查询失败登录记录

select sessionid, userid, userhost, comment$text, spare1, cast( /* TIMESTAMP */(from_tz(ntimestamp#, '00:00') at local) as date) from aud$ where returncode = 1017 and ntimestamp# > sysdate - 10 order by ntimestamp# desc

这里可以直接看到错误的IP信息,联想到前段时间修改了数据库密码,到上面应用修改正确密码后就正常了。


后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

plsql objects 过一段时间就会未连接oracle_记一次生产数据库故障排查--连接管理等待事件...相关推荐

  1. sql 在某段时间_解Bug之路记一次中间件导致的慢SQL排查过程

    解Bug之路-记一次中间件导致的慢SQL排查过程 前言 最近发现线上出现一个奇葩的问题,这问题让笔者定位了好长时间,期间排查问题的过程还是挺有意思的,就以此为素材写出了本篇文章. Bug现场 我们的分 ...

  2. tomcat服务器一直自动关,项目在tomcat里运行一段时间总是自动崩掉的问题排查与解决...

    最近的检验系统上线一段时间后,发现系统访问不了,tomcat总是会自动崩掉,一般遇到这种问题,程序员的第一反应都肯定是内存溢出. 确实是,但是java里内存分好几种,堆内存.栈内存.静态内存区等等,下 ...

  3. 专访黄勇:Java在未来的很长一段时间仍是主流

     专访黄勇:Java在未来的很长一段时间仍是主流 发表于2015-09-06 13:18| 11640次阅读| 来源CSDN| 70 条评论| 作者钱曙光 社区文旦专访黄勇架构框架JavaJava ...

  4. android 停止一段时间,repo sync 工作一段时间后就停止了

    $?=1; while [ $? -ne 0 ] ; do repo sync ; done 然后repo sync 工作一段时间后就不动了: Fetching projects:  95% (210 ...

  5. 服务运行一段时间,redis缓存就不可用,原来是这个锅!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:陈凯玲 来源:https://urlify.cn/RVzIR ...

  6. html怎么一段时间把网页背景更换_汽车轮毂多少公里更换一次?受到磕碰必须更换吗?...

    轮毂受伤也比较常见,比如路边停车蹭到了马路牙上,斜着上下马路牙,转弯时碰到石头上等等,如果仔细观察,很多车的轮毂上都有伤.那么轮毂被刮花了是否需要更换?还有哪些情况要更换轮毂?今天我们就来详细说一下关 ...

  7. winform 让他间隔一段时间 执行事件 且只执行一次_Redis 事件机制详解

    点击上方"程序员历小冰",选择"置顶或者星标" 你的关注意义重大! Redis 采用事件驱动机制来处理大量的网络IO.它并没有使用 libevent 或者 li ...

  8. 为什么要低温保存_新酒为什么要贮存一段时间才能喝?瓶装白酒这样保存最好!...

    点击蓝字关注我们 <消费评论>全国统一刊号:CN42-1894/F 酒丨问丨千丨知 ▽ ▽ 俗话说:白酒三分酿七分藏,白酒的品质三分在于酿造工艺,七分在于后期的储藏,可见储藏对于白酒品质是 ...

  9. 这段时间Dot Text 老出错,实在没办法解决了,特来求助。[InvalidOperationException: 内部连接致命错误。]...

    用博客圆的代码搭建起来二频博客,这二个多月来频频出错.出错原因都是下面这个. 这看博客圆这段时间也经常出错,不知原因是否也一样. "/blog"应用程序中的服务器错误. 内部连接致 ...

最新文章

  1. python创建树结构、求深度_数据结构-树以及深度、广度优先遍历(递归和非递归,python实现)...
  2. TCP第4次挥手为何要等待2MSL才关闭?
  3. 循环查询sql带逗号(,)分隔的数据 以及一对多数据转化为逗号(,)分割数据...
  4. 国家网络安全宣传周:勒索病毒利如刀,上网备好技能包
  5. java时间聚类_mongodb 按照时间聚类 java
  6. 51与PC通信协议设计及实现(三):51部分模块化分工及设计
  7. Linux常见问题三则:Executable Path Is Not Absolute
  8. 时间区间页面设计两个框html,elementUI 2个输入框 时间区间月份选择
  9. Atitit uke证件编码规范与范本
  10. phpword生成图表
  11. mysql书单推荐_MySQL有什么推荐的学习书籍
  12. 计算机网络正掩码怎么计算器,计算机网络课设子网掩码计算器.doc
  13. 会议室管理前端页面_多媒体会议室,会议系统,指挥控制中心,调度中心方案设计方案...
  14. 路由2台,二层交换机4台,三层1台,实现网络互联
  15. 显示具体化、显示实例化、隐式实例化
  16. php上传文件到七牛云,如何使用php上传大文件到七牛云储?
  17. Android向SDCard中上传文件时报错:Failed to push items
  18. tp-link tl-wr740n 虚拟服务器,TP-Link TL-WR740N无线路由器的上网设置教程
  19. Dagger2实际应用篇
  20. java成果_java学习成果1 - chenxiao60的个人空间 - OSCHINA - 中文开源技术交流社区

热门文章

  1. JDK 14 里的调试神器了解一下?
  2. 「预警」尽快升级FastJson版本,避免恶意请求导致OOM!
  3. 命名实体识别_用膨胀卷积进行命名实体识别 NER
  4. 【SpringCloud】简介及其核心组件详解
  5. from torchvision import _C解决办法
  6. git clone early EOF解决方法
  7. python读取红外图
  8. CentripetalNet 48
  9. tensor_proto.raw_data().empty() || !tensor_proto.float_data().empty() || !tensor_proto.double_data()
  10. [WinError 17] 系统无法将文件移到不同的磁盘驱动器