zoukankan      html  css  js  c++  java
  • AWR发现TOP Event log file switch (checkpoint incomplete)

    一、问题

        客户反馈,业务hang死,创建问题时段awr,top event 是checkpoint incomplete

    1.1、awr,top event 

        可以发现是log file switch(checkpoint incomplete)  这个等待事件是指current log file 写满,需要切换创建归档日志,但是需要覆盖的旧的日志文件里面对应的脏块并未写入磁盘,ckpt未完成导致日志无法切换,业务的dml操作就被hang住了。

        根据上面的理论知识,问题的可能性有2:

       1.日志文件日志组数量太少,在业务频繁的dml产生大量redo容易造成日志非常快速的写满,让IO的压力很大且很集中【方法就是增加日志组里面日志文件的大小,增加日志组数量,让IO的操作时间延长,达到分散的目的】;

       2.存储性能太差,导致ckpt检查点无法完成数据写入的动作;

    1.2 日志切换,及日志组调整

    total=3005是因为这个awr创建是00~16  16个小时!!!,但是即使如此,per Hour 每小时切换187次!!! 3分钟不到切换一次! Oracle Mos有建议无明确规定,建议是15~30分钟切换一次。

    日志组3组,日志文件单个50M,属于数据库11.2.0.4 安装的默认大小,对其进行调整。

    新增6组500M日志文件,删除原3组50M日志文件【单实例删除日志组并不会删除操作系统日志,但是为了安全可以不擅长日志文件,保留即可】

    1.3 IO效率

     

     可以发现log file parallel write avg(ms)=5  不算太差,也不算太好的IO效率

    db file sequentail read,db file single write  avg(ms)分别是3,2 不算差;

    db file async i/o submit 业务的dml操作被log file swith(checkpoint incomplete)阻塞无法作为IO效率查询,log file switch(checkpoint incomplete)同样如此。

     

    4ms <log file parallel write 51.8% <8ms  说明IO效率真的不高!!! 而且此awr还是00~16:00 存在空闲期见高效率io 稀释的情况。

    二、总结 

     1.日志组3组,日志文件单个50M,属于数据库11.2.0.4 安装的默认大小,对其进行调整。

    新增6组500M日志文件,删除原3组50M日志文件【单实例删除日志组并不会删除操作系统日志,但是为了安全可以不擅长日志文件,保留即可】

    2.对Oracle 存储进行更换,使用更好更快的存储! 或者让日志文件放在更好的存储上!

  • 相关阅读:
    JavaScript数据类型(第一天)
    数据库的事务隔离级别
    SSH(远程登录)原理
    Hadoop安装
    activiti学习第二天
    activiti学习第一天
    .net调用系统软键盘(兼容win7及win10)
    使用Blend设计出符合效果的WPF界面
    Mysql的收获
    PHP文件上传安全处理的步骤
  • 原文地址:https://www.cnblogs.com/lvcha001/p/12804924.html
Copyright © 2011-2022 走看看