Welcome 微信登录

首页 / 数据库 / MySQL / Oracle Redo Log 及Logmnr配置使用

一、Redo Log 概念1、What Is the Redo Log?Redo Log(重做日志)是为了保护那些修改数据库但未写入data file(数据文件)的数据。Redo Log分为Online Redo log(联机重做日志)文件与Archived Redo Log(已归档重做日志)两类。联机重做日志文件(Online Redo Log File),主要用于记录Oracle事务处理有关日志信息的文件。重做日志文件是数据库从介质故障或者实例故障中恢复时,能够将数据文件回滚到上一个已提交事务所必须文件。2、Redo Log Contents(重做日志内容)Redo log files 填充以 redo records(重做记录)。一个重做记录,有叫做redo entry(重做条目), 有一组change vectors(变化向量)组成,而每个change vectors描述了数据库中每个块的变化。例如, 改变 一行employee表的salary列值时, 将产生一个redo record,它包含了这个表的change vectors ,即data segment block(数据段的块)的变化、undo segment data block(回滚段数据块)变化和回滚段事务表的变化。Redo entries(重做条目)记录了数据库的所有变化(包含回滚段变化)使得我们可以重新构造这些变化。因此Redo Log也可以保护(rollback data)回滚数据。当数据库使用Redo data(重做数据)恢复时,数据库会读取在Redo record(重做记录)中的change vectors(变化向量),并将其应用于相关块上。Redo records(重做记录) 在SGA(System Global Area)注1上的Redo Log Buffer(重做日志缓存区)以循环方式缓存,之后通过数据库后台进程Log Writer (LGWR)即日志写入进程将Redo records写入Redo log文件中一个。一旦一个事务提交, LGWR会将来自SGA中Redo Log Buffer里缓存的事务重做记录写入Redo Log File,并且系统分配一个SCN号(system change number),为每个提交事务标识重写记录。只有当所有对应于存储在(Online Log)在线日志中的重做记录,其事务已安全提交到磁盘时,用户进程才注意到事务已提交。重做记录在某些情况下也会在对应的事务提交之前写入Redo Log文件。如果Redo Log Buffer 填满,或者另一个事务提交,LGWR进程会将Redo Log Buffer中所有Redo log entries写入RedoLog Files后刷新redo log buffer[Flush],即使有些重做记录没能提交。如果需要数据库会回滚这些记录。*注1:系统全局区又称SGA (System Global Area)是Oracle Instance的 基本组成部分,在实例启动时分配。是一组包含一个Oracle实例的数据和控制信息的共享内存结构。主要是用于存储数据库信息的内存区,该信息为数据库进程所共享(PGA不能共享的)。它包含Oracle 服务器的数据和控制信息,它是在Oracle服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。3、How Oracle Database Writes to the Redo Log(Oracle数据库如何写入重做日志)数据库重做日志包含两个或更多的redo log files。数据库需要最少的重做日志文件数目是两个,这样保证总一个日志文件可以写入同时另一个文件归档(如果数据库处于ARCHIVELOG模式)。LGWR进程以循环方式写入Redo Log Files。在当前重做日志文件写满时,LGWR进程开始向下一个可用的Redo Log File写入数据。在最后一个Redo Log File写满时,LGWR进程返回到第一个Redo Log File去写入数据,继而开始循环写入。Figure 1.3-1 描述 redo log file的循环写入方式。于每行的旁边的数字表示已什么顺序LGWR进程写入每个redo log file。Figure 1.3-1 Reuse of Redo Log Files by LGWR(LGWR重用Redo Log Files)已写满的Redo Log files 是否是LGWR进程可重用的(reuse)依赖为是否archiving(归档)是开启的。· 如果归档时关闭(数据库在NOARCHIVELOG mode即非归档模式)时,对于一个写满的redo log file,只要这个文件中的记录已经写入数据文件(datafiles)时,这个RedoLog file才可用。· 如果归档时开启(数据库在ARCHIVELOG mode即归档模式)时,对于一个写满的redo log file,只有这个文件中的记录已经写入数据文件(datafiles)并且这个文件归档时,这个Redo Log file才可用。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 下一页
安装GoldenGate 报找不到Libnnz10.so 文件Oracle 数据库冷备份及RMAN简单使用相关资讯      Oracle基础知识  Oracle Redo Log  Oracle Logmnr  Logmnr 
  • Oracle Redo log 重做日志  (02/24/2015 20:41:56)
  • 查看Oracle 32位还是64位(x86 or   (10/05/2014 19:10:00)
  • Oracle redo log 大小及组数的设置  (09/17/2014 17:31:11)
  • 如何利用DBMS_LOGMNR包挖掘在线日  (01/11/2015 08:58:47)
  • Oracle Redo Log 机制 小结  (09/24/2014 19:26:22)
  • Oracle 联机重做日志文件恢复(  (03/03/2013 08:03:02)
本文评论 查看全部评论 (0)
表情: 姓名: 字数