log file sync(日志文件同步)等待事件具有一个参数:buffer#。在Oracle Database 10g中,这种等待事件位于Commit等待下面。当处理log file sync等待事件时,注意下面的思想:
     ◎ log file sync 等待时间和事务中指(提交或回滚)相关
     ◎ 当进程在log file sync事件上花费大量时间时,这通常表明过多的提交或短事务。

常见的原因、诊断和动作
     Oracle 在SGA中的日志缓冲区中记录事务和块的改变,这是成为生理日志(physiological logging)的方法。通过以各种时间进度将内容写入到日志文件,LGWR进程负责在日志缓冲区中留出空间。

触发LGWR进程的条件有:
  1. 用户提交
  2. 有1/3重做日志缓冲区未被写入磁盘
  3. 有大于1M的重做日志缓冲区未被写入磁盘
  4. 3秒超时
  5. DBWR 需要写入的数据的SCN大于LGWR记录的SCN,DBWR 触发LGWR写入。

触发DBWR进程的条件有:
 1. DBWR超时,大约3秒
 2. 系统中没有多余的空缓冲区来存放数据
 3. CKPT 进程触发DBWR

LGWR是负责把Redo Log buffer写入Redo file的进程,当这个进程启动的时候,会把redo buffer里已经有的redo record写入redo file,而当用户commit或者rollback的时候,会触发这个进程,从而保证用户的提交的数据安全,只有写入到redo file,才能保证这个操作是可以恢复的。

只有当某个事务所产生的重做记录全部被写入重做日志文件之后,oracle才认为这个事务已经成功提交.重做记录也可能会在事务提交之前就写入重做日志文件.

LGWR进程在开始写入下一个重做日志文件之前,必须确认这个即将被覆盖的重做日志文件已经完成如下工作:
* 如果数据库处于非归档模式,已写满的重做日志文件在被覆盖之前,其中所有重做记录所对应的事务的修改
操作结果必须已经全部被写入到数据文件中
* 如果数据库处于归档模式,已写满的重做日志文件在被覆盖之前,不仅要对应所有事务的修改操作结果全部被 写入到数据文件中,还需要等待归档进程完成对它的归档操作

由用户提交和回滚初始化的写入称为同步写入;其余的写入成为后台写入。log file sync
等待只和同步写入有关。换句话说,用户进程可能正在处理一个大型的事务并生成许多触发LGWR以执行后台写入的大量重做条目,但用户会话从来不需要等待后台写入的完成。然而,一旦用户会话提交或回滚它的事务且_WAIT_FOR_SYNC参数是TRUE时,进程提交LGWR并在log file sync事件上等待LGWR将当前重做条目(包括提交标记)刷新到日志文件。在这种日志同步期间,LGWR进程在log file parallel write事件上等待同步写入的完成,同时用户会话在log file sync事件上等待同步进程的完成。

一旦进程进入log file sync等待,就有两种可能性。

一种可能性是LGWR在日志同步完成时提交前台进程时。

另一种情况是在等待已超时的时候(一般在1秒内),在这个时刻,前台进程检查当前日志SCN(System Change Number,系统改变号),确定它的提交是否已经传递到磁盘。如果是的话,进程继续处理,否则进程就重新进入等待。

高log file sync等待事件的3个主要原因。
     ①.高提交频率

解决方法是简单的消除不必要的提交,事务是工作单元。工作单元应该是全部成功或全部失败。
     ②.缓慢的I/O子系统
        较高的IO吞吐良可以改善log file sync和log file parallel write事件的平均等待时间。频繁的提交会弄乱数据库布局和IO子系统。解决办法是将日志文件放裸设备上或绑定在RAID 0或RAID 0+1中,而不是绑定在RAID 5中。
     ③.过大的日志缓冲区
        过大的日志缓冲区也可能延长log file sync等待。大型的日志缓冲区减少后台写入的数量,允许LGWR变得懒惰,并导致更多的重做条目堆积在日志缓冲区中。同时可以调整参数_LOG_IO_SIZE参数,其默认值是LOG_BUFFER的1/3或1MB,取两者之中较小的值。换句话说,你可以具有较大的日志缓冲区,但较小的_LOG_IO_SIZE将增加后台写入,从而减少log file sync的等待时间。

注意:
     你必须绝对不将参数_WAIT_FOR_SYNC设置为FALSE,即使是在一个开发数据库或测试数据库中,因为不能保证提交的事务在实例失败时可以恢复。人们使用这种特性来避开基准测试。
     一般情况下,log file sync等待是非常频繁的时间。它非常简短,终端用户一般不会注意
到它。然而,许多这样的事件可能产生较长的响应时间并在v$system_event和v$session_wait
视图中获得显著的等待统计。使用下面的查询来找到当前的会话,这些会话从登陆开始就花费大量的处理时间在log file sync事件上等待。

Log file parallel write

log file parallel write 事件是LGWR进程专属的等待事件,发生在LGWR将log_buffer中的重做日志信息写入联机重做日志文件组的成员文件,LGWR在该事件上等待该写入过程的完成。

该事件等待时间过长,说明日志文件所在磁盘缓慢或存在争用。

从两个方面入手解决:

(1)将日志文件组放置到高速I/O磁盘上。

(2)尽可能的降低重做数量:
—尽可能使用Nologging选项,包括create table...as select...操作                                          
—热备份可能创建大量的重做信息,所以热备份应该在非高峰时间运行,并且尽可能将表空间排除在热备份模式外

转载于:https://www.cnblogs.com/sopost/archive/2011/02/20/2190048.html

log file sync(日志文件同步) 与 Log file parallel write 等待事件相关推荐

  1. 重做日志文件(redo log file)和归档日志文件(archive log file)

    日志文件分为重做日志文件(redo log file)和归档日志文件(archive log file). SQL> select group#, status, member from v$l ...

  2. 重做日志文件(redo log file)

    目录        重做日志文件相关.        重做日志文件简介.        查询重做日志文件的信息.        日志切换.        管理日志文件组        增删日志文件组. ...

  3. ubuntu 15.04 /var/log/下各个日志文件及修复无message文件和debug文件

    本文简单介绍ubuntu/var/log/下各个日志文件,方便出现错误的时候查询相应的log /var/log/alternatives.log-更新替代信息都记录在这个文件中/var/log/app ...

  4. Linux显示以log结尾的日志文件

    Linux显示以log结尾的日志文件 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ find -name "*.log" find: `. ...

  5. 基于logstash实现日志文件同步elasticsearch

    更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接: 高州阳光论坛https://www.hnthzk.com/ 人人影视http://www.op-kg.com/ ...

  6. Resilio Sync 设备间文件同步

    文章目录 Resilio Sync 设备间文件同步 一.前言 二.正文 第一步 第二步 第三步 Resilio Sync 设备间文件同步 一.前言 Resilio Sync 是一种快速.可靠.简单的文 ...

  7. 深入了解db file parallel read等待事件

    我们平日所常见的User I/O类物理读等待事件包括db file sequential read和db file scattered read,相信细心的同学也见过db file parallel ...

  8. Linux 下高级日志文件查看器Log File Navigator

    Log File Navigator,简称lnav,是一款面向小规模的适用于 Linux 的高级日志文件查看器.它是一个终端应用程序,可以理解您的日志文件,让您轻松找到问题,几乎不需要什么设置. ln ...

  9. 问题1:修改日志文件(redo log)的位置的方法

    目的:将重做日志(redo log)文件从当前磁盘位置迁移到新的位置 解决方法: A:可以停掉数据库的情况 1.关闭数据库 SQL>shutdown immediate Databaseclos ...

最新文章

  1. Nucleus 实时操作系统中断(下)
  2. COGS2355 【HZOI2015】 有标号的DAG计数 II
  3. requests.exceptions.ConnectionError: (‘Connection aborted.‘, BadStatusLine(“‘‘“,))
  4. Linux 内核阅读工具vim+ctags+cscope+taglist
  5. java常见的内存泄漏
  6. FlowDroid工具的构建与运行
  7. 轨道坐标系_天文坐标系分类
  8. 镜像配置见证机失败解决方案
  9. 2018上半年游戏行业DDoS态势报告
  10. (九)洞悉linux下的Netfilteriptables:网络地址转换原理之DNAT
  11. Makefile.am详解
  12. 开源 CMS系统 / SNS系统 / BBS系统
  13. 繁体字生僻字数据库报错处理
  14. FPGA:异步FIFO
  15. 夺命雷公狗---微信开发61----在线点播电影网2之电影网之个人中心
  16. 社区送温暖!Unitimes携手环信新春送好礼
  17. N186_五险一金按名字和身份证汇聚(单表)
  18. SQL Server 2000 企业管理器错误 提示:MMC 无法创建管理单元(不重装)
  19. 内存占用少的linux桌面,不同桌面环境占用内存/CPU对比
  20. VLookup函数详细教程

热门文章

  1. 考oracle ocm,Oracle数据库OCM考试系列教程与总结_OCM考试实验笔记
  2. 1ke android逆向助手_android: 使用android逆向助手反编译APK
  3. java 图片层级_Java Collection 和Map类层次结构图
  4. 乾颐堂安德网工认证1000问(持续更新)
  5. 网易来聊聊子弹短信的消息漫游技术
  6. CentOS上安装skype
  7. django 灵活的后台查询
  8. posix多线程有感--API
  9. tomcat5应用移植到WAS5.1中的一些问题及解决
  10. 近似推断包括采样和变分两种方法,前者是通过_____进行近似,后者是通过_______进行近似。