redo文件一
redo log files and redo log buffer
redo log files的作用的是确保数据库崩溃之后能正确的恢复数据库,恢复数据库到一,致性的状态
redo log files里面保存的都是数据库的变化信息,俗称为redo entry,由redo thread 将信息从
redo log buffer中写入到redo log files中,在每次写的时候都会分配一个LSN值,这个值是递增的
并且不会发生跳跃,log sequence number
介质恢复和实例恢复的不同:
介质恢复是当数据文件发生损坏时,所做的恢复,实例恢复是当数据库实例崩溃时做的恢复
介质恢复必须要手动进行恢复,而实例恢复是数据库在启动的时候又SMON进程自动进行的恢复工作
如何来确保已经提交的数据不会丢失?
oracle采用在数据提交之后,必须先将redo信息写入到redo log files中,当进行恢复的时候,只要
根据redo log信息来进行恢复即可。
如何来确保在数据库恢复的时候的性能和速度?
oracle采用checkpoint机制,在每次进行checkpoint的时候,都会在数据文件中和控制文件中记录下
当前的SCN值,当进行数据库恢复的时候,对比SCN值即可,从而只要恢复大于数据库文件的的SCN的
数据即可。
在进行log switch的时候,redo log files的状态变为可用分为两种情况:
当数据库为非归档模式的情况下:
redo log files必须等待DBWn将脏数据写入到数据文件中,防止此时数据库崩溃而导致数据文件无法
恢复
当数据库为归档模式的情况下
redo log files必须等待DBWn将脏数据写入到数据文件中,并且必须等待ARCn进程将redo log files
中的文件写入到归档日志文件中
redo log files以分组的形式存在,至少存在两个分组,每个组中的成员可以为一个或者是多个,当
是多个的时候,最好是2个,从而可以避免I/O性能,并且将组中的每个成员放倒不同的磁盘上,从而
可以避免单点故障的发生
LGWR负责将redo log buffer中的信息写入到redo文件中,并且是循环写的方式,当从一个redo文件
组切换到另外一个redo文件组的时候,这个时候称之为switch log files
redo log文件采用顺序写的方式写入到redo文件中,而datafiles是随机写的方式,从而使用redo文
件的时候能够大大的提高性能
在LGWR将redo buffer 中的内容写入到redo log文件中的时候,包括已经提交的事物,暂时未提交的
事物,这些数据都会写入到redo log文件中
redo文件一的更多相关文章
- 转储oracle的redo文件
1.确定当前使用的redo文件 SQL> select member from v$logfile where group# = ( select group# from v$log where ...
- 【恢复】 Redo文件丢失的恢复
第一章 Redo文件丢失的恢复 1.1 online redolog file 丢失 联机Redo日志是Oracle数据库中比较核心的文件,当Redo日志文件异常之后,数据库就无法正常启动,而且有丢 ...
- 重建redo文件
需求背景 由于前期安装oracle时redo文件大小或者路径规划不合理需要进行修改,以便满足性能测试要求.redo文件规划大小建议与生产环境一致. 重做日志相关数据字典 1.v$log 记录数据库中 ...
- 简单记录一次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文件三
switch logfile是一种昂贵的操作,在进行日志切换的时候,是不允许生成新的redo信息 在前台进程生成redo日志信息的时候,此时redo buffer已经分配了空间,并且在当前的redo日 ...
- redo文件二
为什么要引入LGWR后台进程和redo log buffer 如果使用前台进程来将redo的信息写入到redo日志文件组中,那么会导致并发的前台进程对redo日志文件组的争用,从而使用后台进程LGWR ...
- dump redo日志文件的信息
通常会用到以下两个命令:1.'alter session'命令用来dump redo日志的文件头2.'alter system dump logfile'命令用来dump redo文件的内容 以上命令 ...
- 【恢复】Redo日志文件丢失的恢复
第一章 Redo文件丢失的恢复 1.1 online redolog file 丢失 联机Redo日志是Oracle数据库中比较核心的文件,当Redo日志文件异常之后,数据库就无法正常启动,而且有丢 ...
随机推荐
- mysql建表时拆分出常用字段和不常用字段
一对一 一张表的一条记录一定只能与另外一张表的一条记录进行对应,反之亦然. 学生表:姓名,性别,年龄,身高,体重,籍贯,家庭住址,紧急联系人 其中姓名.性别.年龄.身高,体重属于常用数据,但是籍贯.住 ...
- ZipArchive框架的文件压缩和解压
导入第三方框架ZipArchive之后还要在系统库文件中导入一个如下文件(搜索libz出来的任何一个都可以) 导入的头文件是#import "Main.h" 文件压缩 -(vo ...
- C++:成员运算符重载函数和友元运算符重载函数的比较
5.2.4 成员运算符重载函数和友元运算符重载函数的比较 (1)对双目运算符而言,成员运算符重载函数参数表中含有一个参数,而友元运算符重载函数参数表中有两个参数:对于单目运算符而言,成员运算符重载函数 ...
- 使用 Async 和 Await 的异步编程
来自:http://msdn.microsoft.com/library/vstudio/hh191443 异步对可能起阻止作用的活动(例如,应用程序访问 Web 时)至关重要. 对 Web 资源 ...
- 一些CSS技巧
1.网页LOGO背景居中 html { background: #f5f7f9 url(img/logo.png) no-repeat center center fixed; backgro ...
- linux自动启动shell和init概述(fedora use systemmd now!!!)
linux运行级别 linux启动之后会在一个级别运行,下面列出了这些运行级别: 0 系统停止 1 单用户系统,不需要登陆 2 多用户系统但不支持NFS,命令行模式登陆 3 完整多用户模式,命令行模 ...
- android bitmap out of memory总结、心得
setImageBitmap或setImageResource或BitmapFactory.decodeResource来设置一张大图,这些函数在完成decode后,最终都是通过java层的creat ...
- ios摇一摇
-(void) motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event { if (motion==UIEventSubtypeMo ...
- 面试题_48_to_65_Java 集合框架的面试题
这部分也包含数据结构.算法及数组的面试问题 48) List.Set.Map 和 Queue 之间的区别(答案)List 是一个有序集合,允许元素重复.它的某些实现可以提供基于下标值的常量访问时间,但 ...
- trackr: An AngularJS app with a Java 8 backend – Part II
该系列文章来自techdev The Frontend 在本系列的第一部分我们已经描述RESTful端建立在Java 8和Spring.这一部分将介绍我们的第一个用 AngularJS建造的客户端应用 ...