【背景】以下是一个ERP数据库的AWR报告,初看数据库挺繁忙的,DB Time/Elapsed的比值接近20,再深入往下看发现数据库的read by other session事件明显,以下是经过一系列的分析解决了read by other session等待事件的问题;

Top 5等待事件

【问题分析一】read by other session产生的原因:发生在一个数据块正在被读进buffer,而其它session此时也要请求这个数据块的时候。这个事件10G以前被归类在buffer busy wait的其他类目中。(说明有多个会话同时在对一个表进行读操作)

查找AWR报告中跟I/O有关的SQL语句

【问题分析二】以上的分析可以给出一个大概的范围,需要继续结合ASH报告或者直接查看当前的session等待情况

1、查找相应的SQL_ID

select  distinct  sql_id

From  v$session

Where  event in('read by other session', 'db file sequential read');

2、查看相应的SQL语句和执行计划

select * from table(dbms_xplan.display_awr('SQL_ID'));

【问题分析三】当前ERP系统是SAP,SAP系统对于系统的性能监控和诊断提供了一系列强大的TC,通过运行SM66,刚好可以看到同时有很多并行的SESSION在运行

【问题原因】经过一系列的分析和判断,终于找到问题的根源,由于后台配置了一个有问题的JOB。

该JOB每30分钟执行一次

但是历史记录显示,每次JOB运行的时间到超过10个小时,这个场景我们可以想象一下:

8点00分,运行job,然后这个job会进行select 表A的操作,且一直在循坏操作;

8点30分,这个job又启动了,也运行select表A的操作,且一直在循坏操作;

9点00分,再次启动job,进行select表A的操作,且一直在循坏操作;

这个场景下来肯定就会出现:一个数据块正在被读进buffer,而其它session此时也要请求这个数据块的时候。所以read by other session的等待事件就产生了。

【解决方法】找到问题的原因后,把当前JOB的情况发给业务部门进行调整,调整后每次运行在10分钟以内,相应的read by other session的等待事件也就没有了。

【总结】刚开始系统数据量小的时候,一些操作不加条件、没有索引运行起来都不会影响系统的,但是随着数据量的增加如果没有对系统进行定期检查的话,那么系统就是会越来越慢;

这也是很多系统运行到一定程度就感觉硬件撑不住的原因,其实是由于粗狂式的系统管理,导致系统的资源过度浪费导致的。

想想一本字典目录就是那么几页,如果没有用好这个目录的话,就像进行海量的数据查询不用索引操作;

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

本文作者:JOHN,某上市公司DBA,业余时间专注于数据库的技术管理,从管理的角度去运用技术。

技术博客:猎人笔记                                                数据库技术群:367875324 (请备注数据库类型)

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

read by other session的优化记录相关推荐

  1. MySQL单表数据量过千万,采坑优化记录,完美解决方案

    MySQL单表数据量过千万,采坑优化记录,完美解决方案 参考文章: (1)MySQL单表数据量过千万,采坑优化记录,完美解决方案 (2)https://www.cnblogs.com/ExMan/p/ ...

  2. Zabbix服务器性能优化记录

    Zabbix服务器性能优化记录 一.检查服务器当前负载 二.检查CPU和内存占比 1.CPU占用率情况 2.内存使用情况 三.处理解决 1.临时关闭图形界面 2.systemd启动目标介绍 3.永久设 ...

  3. php mysql记录用户行为_PHP实现用session来实现记录用户登陆信息

    PHP中session实现记录用户登录信息的问题,也是PHP面试题中比较常见的考点之一,是PHP学习者必须掌握的一个知识点. 对于初入门的PHP新手来说,或许有一定的难度.那么在之前的文章[PHP中s ...

  4. React性能优化记录(不定期更新)

    React性能优化记录(不定期更新) 1. 使用PureComponent代替Component 在新建组件的时候需要继承Component会用到以下代码 import React,{Componen ...

  5. jmeter优化记录文档

    文章目录 jmeter优化记录文档 jvm 优化参考文档 jmeter 优化 系统相关信息: 系统环境: 硬件信息: 系统参数调整 jmeter内存溢出 错误日志如下 情况分析 解决方案 jmeter ...

  6. 如何有效的利用思维导图网站优化记录?

    如何有效的利用思维导图网站优化记录? 刚才在微博有人问我这样的问题: 战隼您好,我从您的读书网站优化记录博客下载了很多读书网站优化记录的思维导图,请问是不是能通过思维导图就能基本了解书本知识,还是要看 ...

  7. 【100万用户量“排行榜列表”和“我的排名”功能优化记录】

    100万用户量"排行榜列表"和"我的排名"功能优化记录 前言背景: 难点: 解决过程: mongodb小坑: 总结优化过程: 最后: 参考: 前言背景: 最近做 ...

  8. linux下GT911触摸屏驱动优化记录

    linux下GT911触摸屏驱动优化记录 背景 由于最近要做linux内核启动速度优化,所以就对着驱动一点一点优化,加上QT应用程序的初始化,总共的启动时间要做到4S以内.目前先调试GT911驱动程序 ...

  9. 某项目从3000并发到10W并发的优化记录

    某项目从3000并发到10W并发的优化记录 Published  on   04 22, 2017   in   tech with  0  comment 最近在做一个某集团一个线上直播的活动,由于 ...

最新文章

  1. FreeBSD 创始人-Jordan Hubbard
  2. poi中文api文档
  3. 导Excel数据到Oracle的脚本,Oracle使用TOAD实现导入导出Excel数据
  4. RabbitMQ非root用户安装(Linux环境)
  5. (转)SpringMVC学习(六)——SpringMVC高级参数绑定与@RequestMapping注解
  6. PHP 调用shell命令
  7. python @符号_用Python学数学之Sympy代数符号运算
  8. JHipster中文官网
  9. ajax跨域支持post,支持post请求的js跨域方法汇总
  10. 利用爬虫编译翻译器 (包含防御反爬虫)
  11. 数据挖掘之决策树与决策规则
  12. SQL Server存储过程文本加密与解密过程详解 2019版可用
  13. hdu1713相遇周期
  14. java语言画图_Java语言实现画图工具
  15. 基于exif信息进行图片方向旋转修正
  16. Tensorflow 2.X h5转pb
  17. sort按vector元素排序
  18. Lucene基础(二)--索引的操作
  19. #第六章 曲率二维表达的拟合应用 ​一、四维时空曲率的二维几何表达
  20. CTF密码学-加解密总结

热门文章

  1. 钢板弹簧的设计(说明书+9张CAD图纸)
  2. es文件服务器4.0,全新安卓5.0设计!ES文件浏览器4.0体验
  3. 关于go语言下载“https://proxy.golang.org/相关包报错问题
  4. 软件能力水平测试机考,信息技术学业水平测试上机考试步骤
  5. 借助CSS Shapes实现元素滚动自动环绕iPhone X的刘海 #精选JAVASCRIPTCSSCHROMECSS3APPLE
  6. 菜鸟学数电1-如何看懂TTL名称
  7. 高数 02.02函数的求导法则
  8. 51单片机实验软件proteus出现错误集锦
  9. 手机QQ资料html,手机怎么把QQ资料卡弄成空白 QQ资料清空教程
  10. focusky怎么制作html5,一款简单易上手的3D动态PPT制作软件Focusky