重做日志缓冲区优化

2023-11-11

2008/05/05
skate

重做日志缓冲区优化

学习目标:  监视和确定重做日志缓冲区的大小

1.重做日志缓冲区的内容
  
   A. 对于每个dml或ddl语句,oracle服务器进程都会用户内存空间的重做条目复制到重做日志缓冲区上

   B. 重做条目包含用于重做或重构dml或ddl操作对数据库所做更改的所需的信息,用于恢复数据库,并
      占据日志缓冲区的连续的有序的空间

2.那缓冲区满了,该怎么办呢?,这就需要lgwr进程来行动了

  A. lgwr进程负责把重做日志缓冲区的内容写到磁盘上的活动的联机重做日志文件(或活动组的成员),他写入
     自上次写入后的所有复制到缓冲区的条目
 
  B. 重做日志缓冲区是一个循环的缓冲区,oracle服务器进程负责把重做的条目覆盖重做日志缓冲区的已经写入磁盘的
     条目,lgwr的写入速度是非常快的,以确保重做日志缓冲区总有写入新条目的空间


3.lgwr什么时候开始空工作的,他要有触发他的动作阿

  A. 重做日志缓冲区的已使用的空间达到三分之一时
  B. 当dbwn进程向磁盘写入已修改的缓冲区的时候
  C. 每隔3秒钟
  D. 用户提交事务处理时的一条提交记录(经常commit会及时刷新重做日志缓冲区空间)


4. 知道了一些原理, 下面开始讨论重做日志缓冲区的大小及调节和优化

   A. 日志缓冲区的大小 log_buffer,默认值为512k或128*cpu_count ,取较大的一个值
   B. 增大log_buffer值可以降低日志文件文件的i/o,缓冲区太小很容易达到已用空间的3/1
   C. 频繁commit将清空日志缓冲区


重做日志缓冲区的诊断: 服务器进程可能向重做日志缓冲区请求写入新条目的空间,但未能找到,这时候将不得不
                   等待lgwr将日志缓冲区刷新到磁盘

优化的目标: 确保服务器进程在重做日志缓冲区中有充足的空间,但是过大的空间将减少分配给其他区域的内存量


我们知道了优化的目标,知道了我要做什么,下面就是确定日志缓冲区的效率,通过一些动态性能视图

v$session_wait   日志缓冲区空间
v$sysstat        重做日志缓冲区再分配重做条目

  1. 重做日志缓冲区空间等待

  sql> select  sid,event,seconds_in_wait,state from v$session_wait where event='log buffer space'


  2. 重做日志缓冲区再分配的统计


  sql> select r.value "entries" ,
              e.value "allocation retries" ,
              e.value/(r.value + e.value) "pct"
         from v$sysstat r,v$sysstat e
         where r.name='redo entries'
           and e.name='redo buffer allocation retries'

 

   entries allocation retries        pct
---------- ------------------ ----------
   1776124                312 .000175633

1 row selected.


重做缓冲区再分配的值应为0,此数值应不大于重做条目的1%,如果这个比例持续增加,则进程将不得不等待日志
缓冲区空间


通过v$session_wait我们检测到等待了,那是什么原因引起的呢,如何解决呢?

引起的原因:日志缓冲区太小,检查点操作或归档操作造成

解决方法: 1可以增加log_buffer的大小
         2 改进检查点和归档进程
  3 将日志文件放到更快的磁盘上


数据库应该设置多少个重做日志文件和其大小阿?

lgwr释放日志缓冲区空间缓慢的原因

查询视图v$system_event


log file switch completion   由于日志文件切换而等待的次数
log file switch (checkpoint incomplete)   由于未完成检查点而引起的日志切换等待的次数
log file switch (arch%)     由于归档问题而引起的日志文件切换等待的次数

 

日志切换的频率的检查方法:

1.查询视图v$log_history  
 
   select * from v$log_history

2.直接去观察alter_sid文件


建议切换联机重做日志的频率不要小于5分钟,如果高过这个频率就要扩大日至组的大小,倾向于
在安静的条件下切换频率超过每小时一次,在调整redo日志文件的时候,要随时观察alter.log文件
查看是否有"checkpoint not complete",如果看到了可以增加日志组的容量


先总结到这吧

----end ---

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

重做日志缓冲区优化 的相关文章

随机推荐

  • PCB各层的含义 (solder paste 区别) 分类: 硬件相关 ...

    PCB层的定义 阻焊层 solder mask 是指板子上要上绿油的部分 因为它是负片输出 所以实际上有solder mask的部分实际效果并不上绿油 而是镀锡 呈银白色 助焊层 paste mask 是机器贴片时要用的 是对应所有贴片元件
  • 前端能力八大等级,每一级附送晋升方法

    文章目录 一 入门级 选秀阶段 能够解决一些问题 怎么进阶 二 解决问题 常在阶段 本阶段特征 进阶之路 三 优化方案 贵人阶段 特征 提升之路 四 全局观 嫔位 特征 提升之路 五 深度 妃位 特征 进阶 六 广度 贵妃 特征 晋升 七
  • 微信小程序开发——map地图组件,定位,并手动修改位置偏差。

    环境搭建 注册 获取APPID 没有这个不能真鸡调试 下载微信web开发者工具 挺多bug 将就用 打开微信web开发者工具 扫码登录 新建小程序 输入APPID 勾选创建quick start项目 工程结构 可以看到工程根目录中有个app
  • HTTP长连接、短连接使用及测试

    概念 HTTP短连接 非持久连接 是指 客户端和服务端进行一次HTTP请求 响应之后 就关闭连接 所以 下一次的HTTP请求 响应操作就需要重新建立连接 HTTP长连接 持久连接 是指 客户端和服务端建立一次连接之后 可以在这条连接上进行多
  • 一文秒懂什么是DDoS攻击

    关注 开源Linux 选择 设为星标 回复 学习 有我为您特别筛选的学习资料 DDoS攻击是目前最常见的网络攻击方式之一 其见效快 成本低的特点 让DDoS这种攻击方式深受不法分子的喜爱 DDoS攻击经过十几年的发展 已经 进化 的越来越复
  • Centos7安装lvs——即安装lvs的管理软件ipvsadm

    1 验证当前linux是具备lvs功能 root nginx master ipvsadm 出现上面的错误提示 就证明当前虚拟机不具备实现lvs的功能 2 安装ipvsadm 因为lvs的具体实现是由这个程序来实现的 2 1 检查内核版本
  • Windows应急响应

    账户排查 账户排查主要包含以下几个维度 登录服务器的途径 弱口令 可疑账号 新增账号 隐藏账号 克隆账号 服务器是否存在被远程登录的途径 3389 smb 445 http ftp 数据库 中间件 弱口令排查维度与上述服务器登录一样 弱口令
  • cgi环境变量

    原文地址 http blog sina com cn s blog 65403f9b0100gpt2 html REOUEST METHOD 这个环境变量指出服务器与CGI程序之间的信息传递方式 一般包括两种 POST和GET 这个环境变量
  • 接口测试常用测试点

    接口测试是测试系统组件间接口的一种测试 接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点 测试的重点是要检查数据的交换 传递和控制管理过程 以及系统间的相互逻辑依赖关系等 测试的策略 接口测试也是属于功能测试 所以跟我们
  • 如何在Android中以编程方式将HTML转换为PDF?

    在各种情况下 您可能需要将HTML页面转换为PDF格式 另一方面 您可能希望从WYSIWYG HTML编辑器的内容生成PDF 对于这种情况 本文介绍如何在Android应用程序中以编程方式将HTML转换为PDF 此外 还将了解用于自定义HT
  • 微信小程序_0

    微信小程序 0 基础库更新日志 开发者工具更新日志 微信云开发 小程序基础库更新日志 云开发部分 wx server sdk 更新日志 IDE 云开发 云控制台更新日志
  • 51单片机学习笔记(十) - AD/DA转换

    文章目录 一 AD DA基本介绍 二 A D D A转换中的主要概念 三 A D D A转换在系统中存在的方式 四 A D转换原理图及ET2046芯片介绍 1 原理图 2 ET2046芯片介绍 3 开发板接线 五 ET2046芯片SPI时序
  • SSH环境搭建,配置整合初步(一)

    1 新Web工程 并把编码设为utf 8 所有的都是uft8数据库也是 就不会乱码了 2 添加框架环境 Junit Struts2 Hibernate Spring 3 整合SSH Struts2与Spring整合 Hibernate与Sp
  • IDEA 指定消息模板(Class\Interface\Enum\Record\) 导致无法Class 提示Unable to parse template “Class“

    IDEA 为Class Interface Enum Record 设置消息模板 File Settings Editor File and Code Templates 消息模板内容 if PACKAGE NAME PACKAGE NAM
  • STM32 TIM预分频计数器

    预分频器 将送给TIM的输入时钟信号按照预分频器分频系数进行分频 然后再作为TIM的输入时钟 例 当输入频率为72M 周期则是0 0138s 输入时钟每增加0 0138s 计数器增加一次 2分频时 周期为0 027s 输入时钟每增加0 02
  • HTML介绍以及常用代码

    HTML 网页基础 html Hyper Text Markup Language 超文本标 记语言 发明者 Tim Berners lee html主要是定义网页内容和结构的 html是编 写网页的语言 html只能运行在浏览器上面 网页
  • 目标检测中如何定义正负样本,和正负样本在学习过程中loss计算起的作用

    如何定义正负样本 和正负样本在学习过程中loss计算起的作用 正负样本定义 分类和回归head如何学习和利用划分后的正负样本 loss如何计算 正负样本在分类中loss计算的处理 正样本在bbox 回归中的loss计算 在目标检测中 经常说
  • 攻防世界-Morse

    1 下载文件打开得到如下01代码 很明显可以看出是摩斯编码 2 使用摩斯编码解码 得到如下结果 3 根据题目提示我们可以得到flag为cyberpeace morsecodeissointeresting
  • angular4表单—模板式表单

    今天我们继续学习angular4表单的内容 表单是系统中都不可或缺的一部分 所以在angular中提供了表单模块 表单的内容分为以下几个部分 模板表单 模板表单的验证 响应式表单 响应式表单的验证 所以我们也是通过一个小的Demo来一步步完
  • 重做日志缓冲区优化

    2008 05 05skate 重做日志缓冲区优化 学习目标 监视和确定重做日志缓冲区的大小 1 重做日志缓冲区的内容 A 对于每个dml或ddl语句 oracle服务器进程都会用户内存空间的重做条目复制到重做日志缓冲区上 B 重做条目包含