redo文件三
switch logfile是一种昂贵的操作,在进行日志切换的时候,是不允许生成新的redo信息
在前台进程生成redo日志信息的时候,此时redo buffer已经分配了空间,并且在当前的redo日志文件组中也必定能写入这些数据
在进行日志切换的时候,步骤如下:
1、LGWR根据control file里的信息找到当前可用的日志文件组
2、LGWR将redo log buffer中的信息写入到当前的redo日志文件组中,并且产生一个SCN作为当前日志组的高位SCN
3、初始化可用的日志文件组,将老的日志文件组的状态设置为active,将可用的日志文件组的状态设置为current
4、将active的日志文件组进行归档,如果归档进程都在忙碌的话,那么在不超过归档进程最大数的情况下,产生新的归档进程来进行归档
5、发生一次checkpoint,将脏数据写入磁盘,当脏数据都写入磁盘之后,旧日志文件组的状态修改为inactive
事物的提交和回滚
一万条事物的提交和一条数据的提交速度基本上是相同的
而一万条事物的回滚和一条数据的回滚速度是相差很大的,一万条事物的回滚会持续很长的时间
如何减少switch logfile的次数
1、减少redo日志的产生量
2、加大redo日志文件组的大小
如何减少redo日志的产生量
使用nologging的操作,例如bulk操作、direct path write,在归档模式下,可以大大的减少日志的产生量
使用shutdown abort操作的时候
1、多使用几次alter system checkpoint
2、杀掉所有的LOCAL=YES和LOCAL=NO的进程
ps -ef|grep "LOCAL=NO" |awk '{print "kill -9 " $2}'|sh
3、使用shutdown abort(SMON进程结束了事务层面的回退操作,关闭了cache层面的恢复,也就是SMON已经开始进行临时段的的回收工作,此时就可以关闭数据库)
关于redo日志优化的建议
1、redo日志文件的大小
2、redo日志文件组的数量
3、redo日志文件的镜像数量
4、redo日志存储的性能
5、redo log buffer的大小
redo文件三的更多相关文章
- 【恢复】 Redo文件丢失的恢复
		
第一章 Redo文件丢失的恢复 1.1 online redolog file 丢失 联机Redo日志是Oracle数据库中比较核心的文件,当Redo日志文件异常之后,数据库就无法正常启动,而且有丢 ...
 - 转储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 记录数据库中 ...
 - Protocol Buffer学习教程之编译器与类文件(三)
		
Protocol Buffer学习教程之编译器与类文件(三) 1. 概述 在前面两篇中,介绍了Protobuf的基本概念.应用场景.与protobuf的语法等.在此篇中将介绍如何自己编译protobu ...
 - 简单记录一次REDO文件损坏报错 ORA-00333重做日志读取块出错
		
一.故障描写叙述 首先是实例恢复须要用到的REDO文件损坏 二.解决方法 1.对于非当前REDO或者当前REDO可是无活动事务使用下面CLEAR命令: 用CLEAR命令重建该日志文件SQL>al ...
 - redo文件四
		
v$session_wait 用来查询redo buffer的空间信息 select sid,event,seconds_in_wait,state from v$session_wait where ...
 - redo文件二
		
为什么要引入LGWR后台进程和redo log buffer 如果使用前台进程来将redo的信息写入到redo日志文件组中,那么会导致并发的前台进程对redo日志文件组的争用,从而使用后台进程LGWR ...
 - 从零開始学android<数据存储(1)SharedPreferences属性文件.三十五.>
		
在android中有五种保存数据的方法.各自是: Shared Preferences Store private primitive data in key-value pairs. 相应属性的键值 ...
 
随机推荐
- java中什么时候该用static修饰方法?有什么好处或者坏处?
			
当一个方法或者变量需要初始化加载,或者是经常被调用的时候可以加上static.用static修饰的方法可以用类名直接调用,不用的一定要先实例化一个对象然后才可以调用比如 person这个类里面有一个方 ...
 - java中文排序
			
对中文名称进行排序,不多说,上代码 package test; /** * @Title: Person.java * @Copyright: Copyright (c) 2012-11-19 * @ ...
 - KMP入门题目[不定期更新]
			
HDU 1711 Number Sequence(模板题) #include <cstdio> ; ; int N, M; int textS[MAXN]; int tarS[MAXL]; ...
 - HDU 4549 M斐波那契数列(矩阵幂)
			
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4549 题意:F[0]=a,F[1]=b,F[n]=F[n-1]*F[n-2]. 思路:手算一下可以发现 ...
 - R programming, In ks.test(x, y) : p-value will be approximate in the presence of ties
			
Warning message: In ks.test(x, y) : p-value will be approximate in the presence of ties The warnin ...
 - [Codeforces137C]History(排序,水题)
			
题目链接:http://codeforces.com/contest/137/problem/C 题意:给n对数,分别是一个事件的起始和终止时间.问被有几个事件被其他事件包含. 思路:先排序,按照起始 ...
 - sublime中文乱码
			
今天在用sublime的时候,又出现乱码的情况了.弹层如下: 检测了一下,当前文件,sublime编辑器左下角显示如下: 显示的是 ASCII 编码的文件,而其他没有没问题的页面显示的的 GBK(或G ...
 - git push default
			
今天使用git push的时候出现了如下提示: warning: push.default is unset; its implicit value is changing in Git 2.0 fr ...
 - hadoop2的automatic HA+Federation+Yarn配置的教程
			
前言 hadoop是分布式系统,运行在linux之上,配置起来相对复杂.对于hadoop1,很多同学就因为不能搭建正确的运行环境,导致学习兴趣锐减.不过,我有免费的学习视频下载,请点击这里. hado ...
 - JAVA中获取项目文件路径
			
在java中获得文件的路径在我们做上传文件操作时是不可避免的. web 上运行 1:this.getClass().getClassLoader().getResource("/" ...