Oracle Log File Sync 等待事件分析与优化
需积分: 42 160 浏览量
更新于2024-09-12
收藏 468KB DOC 举报
LOG FILE SYNC概述
LOG FILE SYNC是Oracle中最普遍的等待事件之一,通常log file sync的等待时间都非常短,仅为1-5ms,不会有什么问题。但是一旦出问题,往往都比较难解决。那么,什么时候会产生log file sync等待?
log file sync等待可能出现在以下几种情况:
1. commit操作:在提交事务时,需要将日志写入磁盘,导致log file sync等待。
2. rollback操作:在回滚事务时,也需要将日志写入磁盘,导致log file sync等待。
3. DDL操作:在执行DDL语句时,需要将日志写入磁盘,导致log file sync等待。
4. DDL操作导致的数据字典修改所产生的commit:在执行DDL语句时,可能会导致数据字典的修改,进而导致log file sync等待。
5. 某些能递归修改数据字典的操作:例如查询SEQ的next值,可能会导致数据字典的修改,进而导致log file sync等待。
在一个正常的系统中,大多数的log file sync等待都是由commit操作造成的。但是在某些异常的系统中,例如频繁rollback、SEQ的cache设置为nocache的系统,也可能会造成比较多的log file sync等待。
Understanding LOG FILE SYNC
从上面的分析可以看出,log file sync等待是Oracle中最普遍的等待事件之一。那么,什么是log file sync?log file sync是指在提交事务时,将日志写入磁盘的过程。在这个过程中,系统需要等待日志写入磁盘的完成,这个等待时间就称为log file sync等待。
log file sync等待可以分为六个阶段:
1. 用户进程发起commit:用户进程提交事务,开始log file sync等待。
2. 用户进程通知lgwr写日志:用户进程通知lgwr进程将日志写入磁盘。
3. lgwr接收到请求开始写:lgwr进程接收到写日志的请求,开始写日志。
4. lgwr写完成:lgwr进程完成日志的写入。
5. lgwr通知用户进程写完成:lgwr进程通知用户进程日志写入完成。
6. 用户进程获得通知,继续做其他事情:用户进程获得日志写入完成的通知,继续执行其他任务。
在这个过程中,1、2阶段的时间主要是post/wait的时间,典型的这种post/wait一般利用的是操作系统的信号量(IPC)实现。如果系统CPU资源充足,一般不会出现大的延迟。前台进程post lgwr后,就开始等待log filesync。
2、3阶段的时间,主要是lgwr为了获取cpu资源,等待cpu调度的时间。
302 浏览量
397 浏览量
688 浏览量
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
parick
- 粉丝: 1
- 资源: 5
最新资源
- 由小波滤波器系数求尺度函数和小波函数
- Visual C++ MFC 简明教程
- C51单片机程序实例大全
- Hardware Design Guidelines for TMS320F28xx .pdf
- C2000_系统设计(硬件部分)
- CISCO ACS 安装详细手册(中文版)
- ICMP 的说明与解释
- VLAN总结(对VLAN作了详细说明与介绍,其中包括对VTP的介绍)
- shell编程指南(有作者对重要部分进行高亮显示)
- EAserver程序员指南
- 《c#手册》非常不错
- C#语法攻略(详细介绍了.NET语法知识)
- CCNA路由链路负载均衡,浮动静态路由
- SQL循序渐进(看完不会你可以砍我)教程
- UML 互动图的教程PPT,63页,很详细
- Java+Servlet+API说明文档,JAVA人的真爱