管理重做日志文件

来源:未知 责任编辑:责任编辑 发表时间:2013-11-26 22:16 点击:

7.1 什么是重做日志
恢复操作的最关键的部分就是重做日志,包括了两个或者更多的预先分配的文件来存储数据库中发生的所有的改变。每一个数据库的进程都与重做日志联系在一起,防止实例失败。
7.1.1 重做线程
每个数据进程都有自己的重做日志组。这些重做日志组,多路复用或者个一的文件我们称为重做线程。在一个典型的配置中,在一个oracle数据库中,只有一个数据库进程被使用,在一个真正的集群环境中,两个或者多个实例同时访问一个数据库,每个实例都有自己的重做线程。
7.1.2 重做日志的内容
重做日志文件中充满了重做记录。重做记录也成为重做条目,在数据库中描述改变的单独的块。
通过重做记录你可以修复数据库中的所有的改变,包括撤销段。因此联机重做日志可以保护回滚的段。当你使用重做日志恢复数据库时,数据库读取重做记录中改变的值和改变的相关的块。
7.1.3 数据库怎么写入重做日志文件
重做日志文件包含两个或者多个重做日志文件。数据库必须最少包含两个重做日志文件,一个用于写,而另一个用于归档(如果数据库是出于归档模式时)。
LGWR是循环写的,当当前的数据文件满了, LGWR将会写下一组重做日志文件。当最后一组文件写满时,数据库就会重新写第一组重做日志文件。
LGWR是否可以重新写已经满的日志文件,主要决定是归档文件是否被启用
   如果数据处于“非归档模式(NOARCHIVELOG)”则该重做日志文件中所有重做记录必须全部被写入到数据文件当中
   如果数据库处于“归档模式(ARCHIVELOG)” 则该重做日志文件中所有重做记录的所对应的修改结果已经写入数据文件 当中,并且归档进程已经将该重做日志文件进行了归档。
7.1.4 活动的(当前)和非活动的重做日志文件
数据库在同一时间只使用一个重做日志文件来存储重做日志缓冲区中的内容。
如果启用了归档,在ARCn没有归档之前数据库不能重用或者覆盖一个活跃的重做日志文件。如果在非归档模式下,当最后一个重做日志已经满时,     LGWR将会覆盖地一个可用的重做日志文件。
7.1.5 日志切换和日志序列号
日志切换时指数据库停止写当前的日志文件,从而开始写下一个重做日志文件。通常情况下是在当前重做日志文件写完,并且开始写下一个重做日志文件。你可以设置重做日志固定的时间间隔。你也可以手动强制切换重做日志文件。
每次日志切换lgwr开始写数据之前,数据库分配给重做日志文件一个新的日志序列号。当数据库归档联机重做日志文件时,归档日志保留他的日志序列号。
每个联机或者归档重做日志的序列号都是唯一的,当实例失败,或者介质恢复时,数据库采用必要的归档和重做日志文件升序排列重做日志文件。
7.2 重做日志规划
  7.2.1 重做日志的多路复用
       Oracle让你多配置几个重做日志文件,防止任何单个文件损坏。当数据文件多路复用之后,LGWR将同时写入到多个重做日志文件中相同的信息,从而消除重做日志的单点故障。
       多路复用的日志被称为组(group),组中的每一个日志文件被称为成员(member),在上图中A_log1和B_log1都是组1中成员,A_log2和B_log2都是组2的成员。在同一组中的成员都有相同的值。
       同一组中的成员是同时处于活动状态,也就是说同时被 LGWR写信息。他们都具有相同的日志序列号。从来都不会同时写不同的日志组中的成员。
     重做日志文件失败的响应
     当 LGWR不能写入给组中的成员时,数据库标记这个成员失效并且给LGWR的trace文件一个错误消息,同时在数据库的警告文件中表明不可访问的文件。

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Table函数使用简介
  • Oracle数据库Constraint约束的常用操作及异常处理
  • Bulk Collect性能分析(zz)
  • export/import的使用
  • OCP043第十五讲 Database Security
  • ORACLE10gr2数据导入MySQL方案
  • oracle 让sys用户可以使用isqlplus
  • 在oracle数据库下使用iSQL*Plus DBA访问数据库
  • Oracle行列转换小结
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1