概念:

志缓冲区是小型的、用于短期存储将写入到磁盘上的重做日志的变更向量的临时区域。"变更向量"是应用于某些对象的修改,执行DML语句会生成应用于数据的变更向量。有了重做日志,数据库就可以确保数据永不丢失:每当数据块发生更改时,都会将应用于块的变更向量写到重做日志,如果需要还原数据文件,则通过重做日志,可以将变更向量提取并应用于数据文件备份。

性质

会话服务器进程不将重做记录直接写入重做日志文件,否则,每当执行DML语句时,会话将不得不等待磁盘I/O操作完成。相反,会话将重做记录写入内存中的日志缓冲区。这样做的速度将远比写入磁盘快。此后,日志缓冲区(可能包含交替的多个会话的变更向量)写出到重做日志文件。因此,日志缓冲区对磁盘的一次写入是来自多个事务的一批变更向量。即使如此,日志缓冲区中的变更向量也是接近实时地写入磁盘,当会话发出COMMIT语句时,会实时执行日志缓冲区写操作。写操作由日志写入器后台进程(LGWR)完成。

特性:

与其他内存结构相比,日志缓冲区较小,因为它是一个非常短暂的存储区域。将变更向量插入其中,并几乎实时地使其流向磁盘。日志缓冲区最多不必超过数MB,的确,如果将其设置为大于默认值,就会对性能产生极坏的影响。默认值由Oracle服务器确定,而且取决于服务器节点中的CPU数量。

如何设置

不可设置小于默认值的日志缓冲区。如果尝试这么做,则日志缓冲区一定会被设置为默认大小。可以创建一个大于默认值的缓冲区,但通常不提倡这样做。问题在于,当发出COMMIT语句时,一部分提交处理涉及将日志缓冲区内容写入磁盘上的重做日志文件。写操作实时执行,在其进行过程中,发出COMMIT的会话将挂起。提交处理是Oracle体系结构的关键部分。要确保提交的事务永不丢失,那么,在缓存中的数据块发生更改(意味着事务已完成)而且将变更向量写入磁盘上的重做日志(如有必要,可以恢复事务)前,不能将完成提交的消息返回给会话。大日志缓冲区意味着:在发出COMMIT语句时,需要写入的内容更多,在发出完成提交消息以及会话恢复工作之前,需要耗费更长的时间。

提示:

就某些应用程序而言,有必要将日志缓冲区大小设置为高于默认值,但通常使用默认日志缓冲区开始调整。

日志缓冲区在启动实例时分配,如果不重新启动实例,就不能在随后调整其大小。它是一个循环缓冲区。在服务器进程向其中写入变更向量时,当前的写地址会来回移动。日志写入器进程以批处理方式写出向量,此时,其占用的空间将变得可用,并可由更多的变更向量覆盖。在活动高峰时刻,变更向量的生成速度可能高于日志写入器进程的写出速度。如果发生这种情况,在日志写入器清理缓冲区时,所有的DML活动都将停止数毫秒。

在Oracle体系结构中,将日志缓冲区转储到磁盘是基本瓶颈之一。DML的速度不能超过LGWR将变更向量转储到联机重做日志文件的速度。

如果重做生成是限制数据库性能的因素,唯一的选项是使用RAC。在RAC数据库中,每个实例都有自己的日志缓冲区和自己的LGWR。这是将重做数据并行写入磁盘的唯一方法。

android log缓冲区大小,科普:开发者模式日志记录缓冲区到底怎样设置相关推荐

  1. android log.d 格式化,Android7.1 logd 日志记录缓冲区大小

    一.先看上层 1.1.  布局 KEY private static final String SELECT_LOGD_SIZE_KEY = "select_logd_size"; ...

  2. 修改FILE缓冲区大小,改进写日志性能

    由于线上服务端程序,需要大量写入日志,将来入数据库库,以便做数据分析或者对账之用,可是发现日志打开后服务器变慢了,对外并发响应数量也减少了.于是分析了下日志写入函数fprintf.其写日志文件的顺序是 ...

  3. Android Studio [真机测试/开发者模式]

    一.手机设置 首先根据自己的手机型号百度打开开发者模式, 我的是vivo,设置--->更多设置-->关于手机-->软件版本号连续点击会提示开启开发者模式. 并在开发者选项里打开USB ...

  4. java common log使用,log4j和commons.logging日志记录的使用方法

    # re: log4j和commons.logging日志记录的使用方法 2008-03-11 14:08 芦苇 一 最好与commons-logging一起用,why? 1.标准接口,即使将来脱离了 ...

  5. 74. 学会使用 SAP ABAP Application Log 在代码里添加应用日志记录功能

    文章目录 ABAP 应用日志对象的概念和创建 如何创建需要通过应用日志记录的消息(message) 使用应用日志创建 API 进行日志记录的创建 使用事物码 SLG1 查看生成的应用日志内容 总结 笔 ...

  6. 【Android 高性能音频】AAudio 缓冲区控制 ( XRun | 欠载 UnderRun | 超限 OverRun | 获取缓冲区大小 | 设置缓冲区大小 )

    文章目录 I . AAudio 音频流 缓冲区控制 II . AAudio 音频流 XRun ( UnderRun | OverRun ) III . AAudio 音频流 当前每次读写帧数 IV . ...

  7. android log系统

    转载自http://blog.csdn.net/Luoshengyang/article/category/838604/3 Android系统开发中LOG的使用 在程序开发过程中,LOG是广泛使用的 ...

  8. windows log日志分割_如何将日志记录到 Windows事件日志 中

    每当出现一些未捕获异常时,操作系统都会将异常信息写入到 Windows 事件日志 中,可以通过 Windows 事件查看器 查看,如下图: 这篇文章将会讨论如何使用编程的方式将日志记录到 Window ...

  9. nexus 5x手机进入开发者模式+开启USB调试功能

    文章目录 学习目标: 开发者模式: 1.打开开关 2.进入开发者模式 3.开启USB调试: 4.截图过程 学习目标: 本文只是为了记录,如何进入开发者模式和打开USB调试,网上买了一个nexus 5x ...

最新文章

  1. Lync2013与Exchange2013集成先决条件(十九)
  2. kafka java_Kafka 使用Java实现数据的生产和消费demo
  3. 含有自增字段的插入问题
  4. 修饰符在python函数中的用法详细解释
  5. Python Dataframe转List
  6. myeclipse启动报JVM terminated. Exit code=1
  7. 《大数据》期刊“农业大数据”专刊征文通知
  8. 前端笔记-label标签的for属性
  9. 寒假培训1.20 位运算
  10. 中原工学院计算机网络,计算机网络 考试重点 中原工学院.doc
  11. 以太网最小帧长度_计算以太网帧长,不可忽略的两个内容:前导码,帧间隙,了解一下...
  12. 【优化预测】基于matlab EMD优化SVR数据预测【含Matlab源码 1403期】
  13. 口袋妖怪c语言代码大全,口袋妖怪漆黑的魅影金手指代码 游戏代码大全分享
  14. 商务云PHP网络验证系统,易如意PHP网络验证系统1.3【开源】+调用模块源码
  15. oracle查找隐藏字符串,oracle chr(0) 隐藏字符串
  16. 论文写作笔记7 大纲outline写作方法
  17. Lock wait timeout exceeded
  18. Livid : 在 26 岁时写给 18 岁的自己
  19. sourceinsight 的好处_代码阅读神器——Sourceinsight
  20. 超星高级语言程序设计实验作业 (实验04 数组及其在程序设计中的应用)(二)

热门文章

  1. 《面向对象程序设计》课程设计
  2. 高德地图发布2017上半年度公共交通报告
  3. 特斯拉数字车钥匙卡评价
  4. 数学建模学习(1) 线性规划
  5. 中国武术高手要在郑州开比武大会?还请了马云做裁判?
  6. 远程访问家中路由器,实现web、ssh、aria2、ftp功能
  7. mysql数据库名称中包含短横线的对应方式
  8. 失去黄金时代的趣店,要走多久才能成功转型?
  9. 趣店纽交所上市,市值近百亿美金;百度国际事业部将独立分拆;摩拜单车进入韩国水原市丨价值早报
  10. 七夕学习礼物:轻巧好用的讯飞智能录音笔SR101