上面两位朋友回答的很好,最好是有基线。
不过没有基线的情况下,也可以从业务的类型是OLTP还是OLAP疑惑是混合负载,以及每秒的IO吞吐和IOPS的绝对值来判断,例如纯OLTP的系统跑的是短平快的交易,如果IO大于100M,是需要关注的,需要出一份AWR报告来检查物理高IO的SQL;对于OLAP/DSS的系统,本身确实是IO密集型的系统,需要访问大量的数据,索引是不适合的,检查物理高的SQL,是否存在可以通过分区、物化视图等手段进行进一步优化,减少无效IO。
如果这么说,您依然无法判断是否有问题,可以加我微信,将awr报告发给我,我来协助您判断,否则只能泛泛的回答了。
具体到IO高的原因,可能是正常的IO需求,比如我就是要访问很多的数据;也可能是不够高效导致的无效IO,比如缺少索引导致执行计划不够优化;
具体的原因,可参照文中所举例子,数据库参数问题导致IO无法被缓存而出现大量IO,SQL语句不够优化(索引、统计信息、SQL写法等)例如正如文中所举例子,数据库参数、应用SQL的执行计划
收起IO高,这个话说的太笼统了,必须是基于一个基线或标准,相比较谁,什么情况下来说,平常的监控又是如何等等。
影响IO高的因素太多了。因为Oracle是运行在主机上的,主机后端有连接了存储,存储网关等等,网络,光纤,OS,参数等等。
要结合着多方面看一看,当然首先要关注的还是OS和Oracle,然后在参考一下其他方面的因素。
收起