Oracle online redo log 基础知识

Oracle 的日志分为:ONLINE REDO LOG 和 archived log

oracle 的日志分为:online redo log 和 archived log

online redo log:
一个数据库至少要有2组 redo log,每组 redo log 至少要有一个 member(出于安全考虑,建议每组 redo log 至少有 2 个多元化的 redo log member)
redo log 循环使用,当一组日志写满后,就会切换到下一组日志。在非归档模式下,当所有日志组写满后,就会覆写之前写满且状态为 inactive 的日志组,以达到循环使用的目的。
在归档模式下,当所有日志组写满后,,LGWR 要等到所有日志都已归档,且日志中记录的事务数据全部写入磁盘(inactive)后才会覆写之前的日志组,否则会一直等待这些任务完成。

日志内容:
redo log 的 redo entry 由一组变更向量组成。

变更向量(change vector):数据本身的改变、对应的 undo 改变、undo segment 的改变

示例:要修改某张表中的某个字段的值,那么修改之前的字段值就会放在 undo 中,为了申请该事务,还需要修改 undo segment 段头中事务表的信息,这个过程的描述就是
redo log 的变更向量。

变更向量的信息包括:版本号、事务操作代码、发生变更的数据块地址。在建立变更向量时,会从数据块中复制版本号。在恢复期间,Oracle 会读取向量并将修改应用于对应的数据块。
同时对数据块的版本号加 1.

Redo Thread 日志线程

单实例:一个 redo thread
RAC:实例数和redo thread 数量 1:1,每个实例都有自己的 thread
引入 redo thread 就是为了避免多个实例之间共享 redo log file 而导致争用,从而提高数据库性能。

一般而言,thread number=instance number
在 RAC 环境下,添加日志要指定线程:
ALTER DATABASE ADD LOGFILE THREAD 1 GROUP 5
(‘+DATA1/oradata/redo06.log’,’+DATA1/oradata/redo06.log’) size 10m;

ALTER DATABASE ADD LOGFILE MEMBER
‘………..’ TO GROUP 5;

每个 REDO THREAD 或者(instance)至少需要两组日志,这些日志循环使用。当一组日志写满后,会发生 log switch 事件而使用下一组日志。如果数据库处于归档模式,
该归档日志还要被归档。在LOG SWITCH 时,会触发增量 checkpoint,启动 DBWR 后台进程将该日志中记录的所有操作所涉及的 dirty block 从 data buffer 写入磁盘文件。
一旦checkpoint 完成,这个日志组便可以被覆写重用。

linux

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1901107.html

(0)
上一篇 2025年2月22日 14:47:54
下一篇 2025年2月22日 14:48:11

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Oracle redo文件记录的内容

    对于redo日志来说,重做信息却相当精简,oracle只需要记录那些重构事务必须的信息(如事务号,文件号,块号,行号,字段等)即可,这个数据 redo的内容 Oracle通过redo来实同快速提交,一方面是因为redo log file可以…

    数据库 2025年2月22日
    100
  • Oracle redo 原理

    Oracle通过Latch来保护和协调Redo Logo Buffer的工作。同Redo相关的Latch主要有Redo Copy Latch、Redo Allocation Latch等,Redo redo log buffer位于sga_…

    数据库 2025年2月22日
    200
  • Oracle 减少redo size的方法

    用实验说明 一、在非归档模式下: SQLgt; archive log list数据库日志模式 非存档模式自动存档 禁用存档 用实验说明 一、在非归档模式下: SQL> archive log list数据库日志模式         …

    数据库 2025年2月22日
    200
  • Redis的主从复制配置实验

    环境介绍:OS:Oracle linux 5.6redis:redis-2.6.8master rac1 192.168.2.101slave rac2 192.168.2.102下载地址:http://redis.g 环境介绍:os:or…

    数据库 2025年2月22日
    200
  • Oracle redo 日志调整

    日期:20130605 10:00 环境:Oracle 11.2.0.3 RAC,双节点, RedHat 5.8 +DS: DELL 3600I 查询过去24小时的日志切换之间的平均, 日期:20130605 10:00 环境:Oracle…

    数据库 2025年2月22日
    200
  • Oracle redo损坏的处理

    如果光是INACTIVE状态的redo损坏,有三种方法可以恢复: 1.clear logfile 相关命令: alter database clear logfile 如果光是inactive状态的redo损坏,有三种方法可以恢复: 1.c…

    数据库 2025年2月22日
    200
  • RedHat Linux5.5下Oracle 11g安装图解

    RedHat Linux5.5下Oracle 11g安装图解 linux下安装oracle系统最好是1g内存,2g的swap空间,,硬盘至少需要4.5g空间。 至少环境在Linux Server release 5.3以上 如果是Linux…

    数据库 2025年2月22日
    200

发表回复

登录后才能评论