log buffer space等待事件
最近,我们有台服务器在delete操作期间发现一直在等待log buffer space,其他节点就没与这个问题。经查,向重做缓冲区上写入重做记录的进程,为了确保拥有重做缓冲区内必要的空间,需要获得redo allocation锁存器。已获得redo allocation锁存器的状态下,在想要得到重做缓冲区时,若没有适当的剩余空间,则需要等到直到获得空间为止。这时,根据情况等待两种事件。如果当前正在使用的重做日志文件已满,因此无法获得剩余空间,LGWR就会执行日志文件切换,服务器进程则等待log file switch completion事件。除此之外,需等待log buffer space事件。前者在日志文件切换结束后,可能发生log buffer space等待瞬间增加的现象。这是因为欲在重做日志缓冲区上写入的多数会话,等待日志文件切换的结束,然后争前恐后的为了写入到重做日志缓冲区上而发生争用。
重做缓冲区小于重做数据量时,发生log buffer space等待。所以广泛发生log buffer space等待时,应该调整重做缓冲区是否过小,必要时应将重做缓冲区调整到足够大。如果log buffer space等待和log file switch completion等待同时出现,就有必要怀疑重做缓冲区大小和重做日志文件大小合理与否。许多情况下,这两个等待是同时出现的。若重做日志文件过小,则log file switch completion等待会增加,在日志文件切换结束后,重新出现log buffer space等待现象。为减少log buffer space等待加大重做日志缓冲区大小时,log file sync等待可能会增加。
减少log buffer space等待的另一个方法是较少创建重做数据。适当使用Direct load功能、赋予nologging选项等,都属于此方法。
log buffer space等待具有与free buffer waits等待相似的属性。free buffer waits等待,是因为DBWR进程无法满足服务器进程寻找空闲缓冲区的速度而发生的。与此相同,log buffer space等待,是因为LGWR进程无法满足服务器进程的寻找空闲重做缓冲区的速度而发生的。减少free buffer waits等待的一种方法就是改善DBWR的性能。与此相同,减少log buffer space等待,也是改善LGWR的性能。将更快、更有效的I/O系统应用于重做日志文件,可改善LGWR的写入性能。
我们系统配置了足够大的logfile,所以虽然一直在等待log buffer space,但是并没有明显的log file switch completion,因此解决方法是将log buffer从默认的30M调整为64M,如下:
ALTER SYSTEM SET LOG_BUFFER=67108864 SCOPE=BOTH;
重启数据库,观察后面确定是否缓解该问题。
log buffer space等待事件的更多相关文章
- log buffer space事件(转)
看了这篇文章: Oracle常见的等待事件说明http://database.ctocio.com.cn/tips/38/6669538.shtml 对于Log Buffer Space-日志缓冲空间 ...
- 完全揭秘log file sync等待事件-转自itpub
原贴地址:http://www.itpub.net/thread-1777234-1-1.html 谢谢 guoyJoe 老大 这里先引用一下tanel poder大师的图: 什么是log fil ...
- RAC 性能分析 - 'log file sync' 等待事件
简介 本文主要讨论 RAC 数据库中的'log file sync' 等待事件.RAC 数据库中的'log file sync' 等待事件要比单机数据库中的'log file sync' 等待事件复杂 ...
- RAC Wait Event: gcs log flush sync 等待事件 转
RAC Wait Event: gcs log flush sync https://www.hhutzler.de/blog/rac-wait-event_gcs_log_flush_sync/#o ...
- oracle之 等待事件LOG FILE SYNC (awr)优化
log file sycn是ORACLE里最普遍的等待事件之一,一般log file sycn的等待时间都非常短 1-5ms,不会有什么问题,但是一旦出问题,往往都比较难解决.什么时候会产生log f ...
- Oracle中常见的33个等待事件小结
在Oracle 10g中的等待事件有872个,11g中等待事件1116个. 我们可以通过v$event_name 视图来查看等待事件的相关信息 一. 等待事件的相关知识 1.1 等待事件主要可 ...
- 30种oracle常见的等待事件说明
1Buffer busy waits从本质上讲,这个等待事件的产生仅说明了一个会话在等待一个Buffer(数据块),但是导致这个现象的原因却有很多种.常见的两种是: 当一个会话视图修改一个数据块,但这 ...
- ORACLE 常见等待事件
一. 等待事件的相关知识 1.1 等待事件主要可以分为两类,即空闲(IDLE)等待事件和非空闲(NON-IDLE)等待事件.1). 空闲等待事件指ORACLE正等待某种工作,在诊断和优化数据库的时候, ...
- oracle常见的等待事件说明
转自 http://blog.itpub.net/29371470/viewspace-1063994/ 1. Buffer busy waits 从本质上讲,这个等待事件的产生仅说明了一个会话在等待 ...
随机推荐
- [LeetCode] 824. Goat Latin_Easy
A sentence S is given, composed of words separated by spaces. Each word consists of lowercase and up ...
- [LeetCode] 849. Maximize Distance to Closest Person_Easy tag: BFS
In a row of seats, 1 represents a person sitting in that seat, and 0 represents that the seat is emp ...
- css3--之backface-visibility
使用CSS3 backface-visibility属性制作翻转动画效果: http://www.htmleaf.com/ziliaoku/qianduanjiaocheng/201504151 ...
- Kotlin 范型约束
官方的示意及其简约,该说的一概没说 我在这里给大家一个完整的例子 //test.kt fun <T> cloneWhenGreater(list: List<T>, thres ...
- pyCharm编辑器激活使用
1.打开激活窗口 2.选择 Activate new license with License server (用license server 激活) 3.在 License sever addres ...
- Selenium基础知识(四)表单切换
在测试过程中,经常会碰到frame和iframe,嵌套等情况 这种情况下直接通过id,name等等是无法定位到的 好在selenium替我们想到了这个问题switch_to方法解决问题 switch_ ...
- CSU 1838 Water Pump(单调栈)
Water Pump [题目链接]Water Pump [题目类型]单调栈 &题解: 这题可以枚举缺口,共n-1个,之后把前缀面积和后缀面积用O(n)打一下表,最后总面积减去前缀的i个和后缀的 ...
- Mongodb 文档时间字段修改
mongo文档[tblEvent]如下: { "_id" : ObjectId("5a0415f9bf28b684b1c7f5b2"), &qu ...
- DBA角色职责
MySQL DBA分架构DBA,运维DBA和开发DBA三种角色,职责介绍如下: MySQL数据库系统日常管理职责 日常管理的主要职责是对MySQL服务器程序mysqld的运行情况进行管理,使数据库用户 ...
- XML系列之--创建电文格式的XML(一)
关于XML,学校那会,老师在口中仅仅提及,自己也未曾深入接触过,仅是些将最基本XML文件内容显示在web定义的表格中之类的简单操作,如今项目中的收发电文涉及到复杂XML的操作.趁此契机好好回顾下XML ...