ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 数据库服务器系统I/O 100%案例分析

数据库服务器系统I/O 100%案例分析

原创 Linux操作系统 作者:paulyibinyi 时间:2013-11-07 16:44:02 0 删除 编辑

环境:
      oracle 10.2.0.5 rac+aix 平台
问题描述:
  
    客户数据库服务器I/O在业务高峰期非常繁忙,达到100%,cpu和内存有剩余。

分析过程:
  
    1:检查操作系统日志,没有什么异常
  
    2:检查数据库日志,也没发现什么异常

    3:查看数据库等待事件,发现db file scattered read及db file sequential read 事件居多

    4:根据等待事件查找sql 为以下相关sql
           SELECT COUNT(1) FROM  table T WHERE T.R = :1   AND  t.d = '01'
           都是访问跟T有关的sql
    5:  生成awr和addm报告
    
    6:根据awr和addm报告,查看物理读最多的sql,也是和T表有关
         RECOMMENDATION 1: Segment Tuning, 79% benefit (231286 seconds)
      ACTION: Investigate application logic involving I/O on TABLE
         "owner.T" with object id 198667.
         RELEVANT OBJECT: database object with id 198667
          addm报告建议对这个表重建,产生的碎片太多
    
     7:把这个表提供给业务开发人员分析,开发人员给出答案,这是业务新上线的一个模块,前期对这个表经常加载数据和删除数据,所以产生碎片太多。
        经过开发人员重建后,相关索引建议,I/O 100的问题消失。

总结:
 
     业务上线前要在测试环境做好足够的测试,没问题后,才可以在生产发布,业务流程上要加强。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7199859/viewspace-776026/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
学习数据库

注册时间:2007-12-11

  • 博文量
    902
  • 访问量
    6566649