zoukankan      html  css  js  c++  java
  • log file sync等待事件

    问题背景:

    客户反馈数据库反映缓慢,各模块均不能使用

    1> 查看awr报告

    问题分析:

    1、log file sync的原凶到底是什么?

    频繁commit/rollback或磁盘I/O有问题,大量物理读写争用

    当一个用户提交(commits)或者回滚(rollback),session的redo信息需要写出到redo logfile中.

    用户进程将通知LGWR执行写出操作,LGWR完成任务以后会通知用户进程.

    这个等待事件就是指用户进程等待LGWR的写完成通知.

    对于回滚操作,该事件记录从用户发出rollback命令到回滚完成的时间.

    如果该等待过多,可能说明LGWR的写出效率低下,或者系统提交过于频繁.

    针对该问题,可以关注:

    log file parallel write等待事件

    user commits,user rollback等统计信息可以用于观察提交或回滚次数

    解决方案:

    1.提高LGWR性能

    尽量使用快速磁盘,不要把redo log file存放在raid 5的磁盘上

    2.使用批量提交

    3.适当使用NOLOGGING/UNRECOVERABLE等选项

    4.检查redo log file足够大,确保redo log file每15到20分钟切换一次。

    可以通过如下公式计算平均redo写大小:

    avg.redo write size = (Redo block written/redo writes)*512 bytes

    如果系统产生redo很多,而每次写的较少,一般说明LGWR被过于频繁的激活了.

    可能导致过多的redo相关latch的竞争,而且Oracle可能无法有效的使用piggyback的功能.

    我们从一个statspack中提取一些数据来研究一下这个问题.

    我们看到,这里log file sync和db file parallel write等待同时出现了.

    显然log file sync在等待db file parallel write的完成.

    这里磁盘IO肯定存在了瓶颈,实际用户的redo和数据文件同时存放在Raid的磁盘上,存在性能问题.

    需要调整.

    由于过渡频繁的提交,LGWR过度频繁的激活,我们看到这里出现了redo writing的latch竞争.

    关于redo writing竞争你可以在steve的站点找到详细的介绍:

    http://www.ixora.com.au/notes/lgwr_latching.htm

    在以前版本中,LGWR 执行写入操作完成后,会通知前台进程,这也就是 Post/Wait 模式;在11gR2 中,为了优化这个过程,前台进程通知LGWR写之后,可以通过定时获取的方式来查询写出进度,这被称为 Poll 的模式,在11.2.0.3中,这个特性被默认开启。这个参数的含义是:数据库可以在自适应的在 post/wait 和 polling 模式间选择和切换。

    涉及的隐含参数

     _use_adaptive_log_file_sync 参数的解释就是: Adaptively switch between post/wait and polling ,正是由于这个原因,带来了很多Bug,反而使得 Log File Sync 的等待异常的高,如果你在 11.2.0.3 版本中观察到这样的表征,那就极有可能与此有关。

    在遇到问题是,通常将 _use_adaptive_log_file_sync 参数设置为 False,回归以前的模式,将会有助于问题的解决。

    关闭:

    SQL> alter system set parallel_adaptive_multi_user=false scope=both;

    System altered.

    SQL> show parameter adaptive;

    此客户问题最终解决:

    尝试增加一个redolog,512m,加了几分钟没有成功,可以判断磁盘I/O出问题,客户自行调整磁盘问题

  • 相关阅读:
    Java异常处理
    冒泡排序法
    21个项目-MNIST机器学习入门
    Hadoop集群搭建中ssh免密登录
    利用奇异值分解简化数据
    数据集中空值替换成对应特征的平均值
    PCA降维处理
    使用FP-growth算法高效发现频繁项集
    原生js---ajax---post方法传数据
    原生js---ajax---get方法传数据
  • 原文地址:https://www.cnblogs.com/shujuyr/p/13140963.html
Copyright © 2011-2022 走看看