关于Online Redo Log(ORL)和Standby Redo Log(SRL)的个人理解

本文探讨了Oracle Dataguard中Standby Redo Log (SRL) 的工作原理及与Primary Redo Log (ORL) 的区别。阐述了SRL在数据库standby角色时的作用,并介绍了Remote FileSystem (RFS) 进程如何将ORL同步到SRL以确保数据一致性。

在创建Oracle Dataguard的时候,难免会碰到Standby Redo Log(SRL),它和ORL到底有何不同,下面是我自己的一点理解,大部分都是翻的Oracle官方文档:

1. SRL只有在数据库是standby角色是才起作用,Oracle建议我们为primary也配置SRL只是为了以后主从切换时不用人为干预

2. standby上SRL完全等同与primary上的ORL,在primary发生日志切换时,Remote File System(RFS)进程把primary上的ORL写到standby的SRL,同时standby归档上一个SRL

3. standby通过应用并归档SRL以达到与primary一致。


REF:

1. Creating and Managing a Standby Redo Log

http://docs.oracle.com/cd/E11882_01/server.112/e25608/log_transport.htm#BABCBEGJ


Oracle数据库中的重做日志(Redo Log)是用于记录数据库中所有更改操作的物理逻辑日志,确保数据库在发生故障时能够恢复到一致的状态。根据其生命周期用途的不同,Redo Log主要分为以下几种类型:**Redo LogOnline Redo Log、Archived Redo Log Archived Log**,它们之间既有区别也有紧密的联系。 ### Redo Log 的总体概念 Redo Log数据库恢复机制的核心组成部分,记录了数据库中所有数据修改操作的详细信息,包括事务的开始、提交、回滚以及数据块的修改。它确保在系统崩溃或实例失败时,数据库能够恢复未写入数据文件的更改,从而保证数据的一致性完整性[^1]。 ### Online Redo Log Online Redo Log 是当前正在被数据库实例使用的 Redo Log 文件,用于记录当前正在进行的事务操作。每个数据库实例至少包含两个 Online Redo Log 文件,以实现日志切换(Log Switch)循环使用。Online Redo Log 文件可以分布在不同的磁盘上,以提高性能可靠性。当一个 Online Redo Log 文件被填满时,数据库会自动切换到下一个可用的日志文件,并触发检查点(Checkpoint)操作[^1]。 ### Archived Redo Log数据库处于 **Archive Log 模式** 时,Online Redo Log 文件在切换(Log Switch)后不会被覆盖,而是会被归档(Archive)为 Archived Redo Log 文件。这些文件是 Online Redo Log 的历史副本,用于长期存储,以便在需要时进行介质恢复(Media Recovery)或时间点恢复(Point-in-Time Recovery)。Archived Redo Log数据库备份恢复策略的重要组成部分,尤其是在 RAC(Real Application Clusters)环境中,多个实例共享 Online Redo Log 文件,而 Archived Redo Log 文件则用于跨实例的恢复[^2]。 ### Archived Log Archived Log 是指归档后的 Redo Log 文件,通常与 Archived Redo Log 是同一个概念。它用于保存数据库在某个时间点之前的 Redo Log 记录,以便在数据库恢复过程中应用这些日志,将数据文件恢复到一致状态。Archived Log 文件可以存储在本地磁盘或远程存储设备中,并且可以配置多个归档目标(Archive Destination)以提高可用性冗余性。 ### 区别与联系 | 类型 | 用途 | 是否可覆盖 | 是否归档 | 是否用于恢复 | |------------------|--------------------------------------|------------|----------|----------------| | Redo Log | 记录所有数据修改操作 | 否 | 否 | 是 | | Online Redo Log | 当前正在使用的 Redo Log 文件 | 是(循环使用) | 否 | 是 | | Archived Redo Log| 归档后的 Online Redo Log 文件 | 否 | 是 | 是 | | Archived Log | 归档的日志文件,用于长期存储恢复 | 否 | 是 | 是 | ### Oracle RAC 环境中的 Redo LogOracle RAC(Real Application Clusters)环境中,多个实例共享同一数据库,因此每个实例都需要独立的 Redo Thread(Redo Thread 是指每个实例专用的 Online Redo Log 文件组)。RAC 环境中的 Redo Log 切换归档机制与单实例环境类似,但需要确保所有实例的 Redo Log 文件可访问,以支持实例恢复集群级别的恢复操作[^3]。 ### 示例:查看 Redo Log 配置信息 可以通过以下 SQL 查询查看当前数据库Redo Log 配置信息: ```sql -- 查看 Online Redo Log 组及其成员 SELECT group#, bytes, members, status, archived FROM v$log; -- 查看每个 Redo Log 组的成员文件路径 SELECT group#, member FROM v$logfile; -- 查看归档日志模式 SELECT log_mode FROM v$database; ``` ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值