redo文件二
为什么要引入LGWR后台进程和redo log buffer
如果使用前台进程来将redo的信息写入到redo日志文件组中,那么会导致并发的前台进程对redo日志文件组的争用,从而使用后台进程LGWR之后,不会产生前台程序的争用情况
引入redo log buffer是为了提高数据库的性能,从而前台进程只要将生成的redo信息写入到redo log buffer中
oracle在提高性能的方面,将redo的block块大小和操作系统的块大小设置为一样大,从而不会产生碎块的问题
LGWR将redo log buffer中的内容写入到redo日志文件组中,从而LGWR的触发条件如下:
1、当事物进行commit的时候
2、当redo log buffer中的内容到达1M的时候
3、当达到redo log buffer中的内容的1/3的时候
4、每隔3S
当事物进行commit的时候触发LGWR写操作,是为了确保当用户提交事物的时候,如果数据库发生了故障不会丢失数据,此时redo日志组的信息已经写入到redo log files中,从而数据不会产生丢失
当内容达到1M或者是内容达到1/3或者3S的时候触发,是为了防止当数据库的事物提交的很少,但是每次都产生大量的redo日志信息的时候,防止redo log buffer中的信息积压,从而每次定时的唤醒LGWR进程,将日志信息写入
在LGWR写的时候,会发生一个事件,那就是log file sync等待时间,可能发生为两种情况:
1、当前台进程产生了redo日志时,redo log buffer中的内容满了,从而没有空间来保存新的生成的redo信息,这个时候前台进程必须等待LGWR将buffer中的内容写入到redo日志文件组中,从而发生的等待
2、当用户提交事物时,等待LGWR将日志信息写入到日志文件组中,此时也会发生log file sync等待事件
总的来说:log file sync等待事件就是等待LGWR将redo log buffer中的内容写入到redo日志文件组中发生的等待事件
如何来解决大量的log file sync事件
1、增加redo log buffer的大小,在此时可能需要调整_log_io_size的大小,防止大量的redo信息的堆压
2、将redo日志文件放到IO性能比较好的磁盘上,从而增加LGWR写日志的速度
日志切换
日志切换是一个昂贵的操作,alter system switch logfile;
redo文件二的更多相关文章
- 【恢复】 Redo文件丢失的恢复
第一章 Redo文件丢失的恢复 1.1 online redolog file 丢失 联机Redo日志是Oracle数据库中比较核心的文件,当Redo日志文件异常之后,数据库就无法正常启动,而且有丢 ...
- 简单记录一次REDO文件损坏报错 ORA-00333重做日志读取块出错
一.故障描写叙述 首先是实例恢复须要用到的REDO文件损坏 二.解决方法 1.对于非当前REDO或者当前REDO可是无活动事务使用下面CLEAR命令: 用CLEAR命令重建该日志文件SQL>al ...
- 转储oracle的redo文件
1.确定当前使用的redo文件 SQL> select member from v$logfile where group# = ( select group# from v$log where ...
- redo文件一
redo log files and redo log buffer redo log files的作用的是确保数据库崩溃之后能正确的恢复数据库,恢复数据库到一,致性的状态 redo log file ...
- 重建redo文件
需求背景 由于前期安装oracle时redo文件大小或者路径规划不合理需要进行修改,以便满足性能测试要求.redo文件规划大小建议与生产环境一致. 重做日志相关数据字典 1.v$log 记录数据库中 ...
- redo文件四
v$session_wait 用来查询redo buffer的空间信息 select sid,event,seconds_in_wait,state from v$session_wait where ...
- redo文件三
switch logfile是一种昂贵的操作,在进行日志切换的时候,是不允许生成新的redo信息 在前台进程生成redo日志信息的时候,此时redo buffer已经分配了空间,并且在当前的redo日 ...
- HTML5 文件域+FileReader 读取文件(二)
一.读取文本文件内容,指定字符编码 <div class="container"> <!--文本文件验证--> <input type="f ...
- linux(八)linux系统中查找文件二
前面介绍的是find命令,我们发现一个find命令居然有那么多的命令,我看到都要晕了,不管没有关系,加油.相信自己! 一.grep命令 1.1.作用 Linux系统中grep命令是一种强大的文本搜索工 ...
随机推荐
- LR_问题_无法打开IE浏览器、监视服务器资源
无法打开IE浏览器 使用web(http)协议录制时,无法打开IE浏览器,且生成的日志信息为 ****** Start Log Message ****** Web Recorder version ...
- C和指针贴图
ANSI C 算术转换 内存操作函数 打开流 关闭流 IO函数常用模式 字符输入函数 字符输出函数 撤销字符 未格式化的行IO 格式化的行IO-scanf家族 格式化IO-printf家族 print ...
- Windows系统上如何使用SSH
Windows系统上如何使用SSH 传统的网络服务程序如FTP.Telnet等,在网络上一般使用明文传送数据.用户账号和口令信息,容易受到中间人的攻击.用户利用SSH协议后能有效防止DNS及IP欺骗, ...
- python流程控制语句 ifelse - 1
考点:条件判断语句if-elif 代码: #! /usr/bin/python print ('\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n') p ...
- 基于Struts2框架实现登录案例 之 程序国际化
国际化牵涉的知识非常多,这里只能简单的介绍,程序国际化的一般做法是:在jsp页面时, 不是直接输出信息,而是输出一个key值,该key值在不同语言环境下找到对应资源文件下的 对应信息,因此首先要创建满 ...
- UML与数据流图
Ref: <数据库设计理论及应用(3)——需求分析及数据>http://wenku.baidu.com/link?url=hbhJFytMKT8A ...
- Lotus Notes中编程发送邮件(二)
在编程发送各种类似通知的邮件时,时常会需要发件人显示为某个特定的帐户,比如某个部门的名称或者管理员的名字.另一种需求是,用户收到某封邮件后,回复邮件的地址不同于发件人栏显示的地址.而正常情况下,发送邮 ...
- Apple开发者账号申请学习方式
http://jingyan.baidu.com/article/414eccf610e7c76b431f0a94.html https://developer.apple.com/wwdc/sche ...
- Android Dialogs(6)Dialog类使用示例:用系统theme和用自定义的theme
使用dialog时有很多 方法,其中一个就是直接 使用基类Dialog,可用来作一个没有按钮的非模态提示框,它可以直接从系统的主题构造也可从自定义的主题构造. 基本步骤: a,构造 b,调用dialo ...
- oracle SQL Develop导出数据库中的表格数据到excel
首先打开oracle数据库 1.查询数据库, SELECT * FROM pub_attribute WHERE ELEMENT_CODE='bb382e10d7ce437b8a8c980ba20ac ...