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

教程发布:风哥 教程分类:ITPUX技术网 更新日期:2022-02-12 浏览学习:678

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

环境:
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的问题消失。

总结:

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

本文标签:
网站声明:本文由风哥整理发布,转载请保留此段声明,本站所有内容将不对其使用后果做任何承诺,请读者谨慎使用!
【上一篇】
【下一篇】