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 从本质上讲,这个等待事件的产生仅说明了一个会话在等待 ...
随机推荐
- 如何在Android的ListView中构建CheckBox和RadioButton列表(支持单选和多选的投票项目示例)
引言 我们在android的APP开发中有时候会碰到提供一个选项列表供用户选择的需求,如在投票类型的项目中,我们提供一些主题给用户选择,每个主题有若干选项,用户对这些主题的选项进行选择,然后提交. 本 ...
- 超实用教程,教你用墨刀做出小红书app原型
一个新手怎么用1小时快速学会APP原型设计? 1小时很短,这意味着学习时必须把握APP原型设计中的重点.难点,而非面面俱到. 要在短时间内理解.掌握一个工具的使用,最有效的方式莫过于临摹: 看实例视频 ...
- nodejs+mysql入门实例(表的查询)
//连接数据库 var mysql = require('mysql'); var connection = mysql.createConnection({ host: '******', //数据 ...
- java获取请求的url地址
1.获取全路径request.getRequestURL(); //得到http://localhost:8888/CRM/loginController/login 2.获取协议名和域名reques ...
- HttpContext.Current.Items的用途
HTTP是一个无状态的协议.每次的请求都是独立的,它的执行情况和结果与前面的请求和之后的请求是无直接关系的,它不会受前面的请求应答情况直接影响,也不会直接影响后面的请求应答情况.而实际上,我们的系统往 ...
- 数据加密之DES加密
DES加密即使用DESCryptoServiceProvider加密.DESCryptoServiceProvider在命名空间下:System.Security.Cryptography; 对称加密 ...
- xml--myeclipse用快捷键注释xml语句
7.5以上版本才可以ctrl+shift+/ 撤销注释:CTRL + SHIFT + \ 参考:https://blog.csdn.net/tengdazhang770960436/article/d ...
- vue中强制刷新的bug处理
vue是单页面应用,跳转路由也是局部刷新,这里就拿后台管理系统而言,如果你的后台管理系统是左右布局,你不会遇到这样的问题,但是如果你的后台管理系统是上左右布局,你就会遇到这个问题,一级菜单在最上面,二 ...
- CSS background-image背景图片相关介绍
这里将会介绍如何通过background-image设置背景图片,以及背景图片的平铺.拉伸.偏移.设置大小等操作. 1. 背景图片样式分类 CSS中设置元素背景图片及其背景图片样式的属性主要以下几个: ...
- PLSQL oracle32位 oracle64 安装区别及注意问题
一.先明确几个概念: 1.PLSQL 只有32位的. 2.oracle 客户端 分别有32.64位,一般使用32位. 3.oracle 服务端 分别有32.64位,一般老的服务器使用32位,新的服务器 ...