SRL Introduce

从">ORACLE9i开始,出现了Standby Redo Logs(SRL),9.1开始只有">physical standby支持SRL.从">10g开始,Physical和Logical standby均支持SRL.

SRL用来接受从primary传输过来的">redo data信息。SRL的最大的益处是每一条写进">primary Online Redo Logs(ORL)的条目将会被同时传输到standby端的">SRL.减小了standby端数据丢失的可能。

从">oracle10g开始,SRL可用来启动Real-Time Apply.在Real-Time Apply的环境中,redo应用从">primary接受的并存储在SRL的redo信息。如果没有">SRL,则redo应用archivelog,也就不能成为">Real-Time Apply了。

创建SRL

在">primary创建SRL,执行备份恢复时也会在">standby创建响应的SRL,Oracle建议同时在">Primary和Standby创建SRL.如果只在">standby创建SRL,则需启动standby database到mount阶段。

例如">:

SQL> alter database add standby logfile group 4 '+DATA' size 50M.

需要注意的是,在">controlfile里定义的数据库当前最大可以创建的redo log组。可以通过"> backup controlfile to trace查看。

SQL> alter database backup controlfile to trace;

如:

MAXLOGFILES   8

MAXLOGMEMBERS 3

SRL限制

在">oracle9i/10g的DG环境中,RFS进程接受从">primary传输过来的redo数据并写入磁盘">(Standby Redo Logs/Archived Redo Logs).如果考虑使用">SRL,则其大小必须和Online Redo Logs保持一致。如果">Online Redo Logs的大小不一致,则必须创建相应大小的Standby Redo Logs,如果SRL和ORL的大小不一致,">RFS进程将不会依附SRL.

ORACLE建议每个线程SRL的数量比">ORL多一组。

SRL中填充的信息和primary端的">ORL一致。在10.2之前,必须在LOG_ARCHIVE_DEST_n参数配置">LGWR传输模式,才能由LGWR进程提供redo信息到">Standby的RFS进程。从10.2开始,">ARCH进程也可能写redo信息到SRL.

SRL和Archive Log的区别

如果没有">SRL,则RFS进程将会创建一个Archive Redo Log.在Physical standby中,由MRP(Managed Recovery Process)进程应用已归档的日志到standby database中。

如果有">SRL,则RFS进程将从primary接收到的">redo信息写入到SRL中,当primary发生">Log Switch,Standby端的归档进程将会归档SRL到">Archived Redo Log,然后由MRP进程应用这些归档到">standby database中。在Failover场景,仍然可以访问">SRL中的信息,减小数据丢失。

从">Oracle 10g开始,Oracle增加">Real-Time Apply的选项。Real-Time Apply会直接应用">SRL中从primary接收到的redo data.Real-Time Apply不能应用没有完全归档的Archivelog.因此,在">Real-Time Apply的环境中,SRL是必须的。

注:">12c中,MRP默认采用Real-Time Apply模式。

STANDBY REDO LOG的更多相关文章

  1. Oracle Dataguard Standby Redo Log的两个实验

    在Data Guard环境中,Standby Redo Log是一个比较特殊的日志类型.从最新的DG安装指导中,都推荐在Primary和Standby端,都配置Standby Redo Log. 简单 ...

  2. Standby Redo Log 的设定原则、创建、删除、查看、归档位置

    设定: 1.每个standby redo log file 至少要和primary database的redo log 一样大,为了方便管理,Oracle 建议主备库的redo log 设置成一样的大 ...

  3. 配置standby redo log

    Data Guard在最大保护和最高可用性模式下,Standby数据库必须配置standby redo log,通过下面的实验展示创建的原则和过程. 1.原则1).standby redo log的文 ...

  4. dataguard 下主备 online redo 与 standby redo log resize 重建

    环境说明: 本实验环境是一个节点的rac + 单节点 asm dg     database 与 grid 版本是 11.2.0.4 .提别提醒 如果是多节点集群,操作时需要特别注意 thread . ...

  5. 转 Alert.log shows No Standby Redo Logfiles Of Size 153600 Blocks Available

    http://blog.itpub.net/23135684/viewspace-703620/ Alert.log shows No Standby Redo Logfiles Of Size 15 ...

  6. 关于控制文件和redo log损坏的恢复

    前段时间一朋友自己电脑上的开发测试用的数据库出了点问题,电脑操作系统是Win8,直接在Win8上安装了Oracle11g,后来系统自动升级到Win8.1,Oracle相关的服务全都不见了,想想把数据文 ...

  7. redo log

    1.redo log相关数据字典 v$log:display the redo log file information from the control file v$logfile:identif ...

  8. 8 redo log内部结构分析(IMU/非IMU)--update示例

    Oracle内核的进步 ---- 新.老Redo机制对比 体系结构 非IMU下的redo产生过程 --分析redo log(update) SQL> set sqlprompt "_U ...

  9. Standby Redo Logs的前世今生与最佳实践

    编辑手记:使用过Data Guard的人应该对于Standby Redo Logs都不陌生,在配置了 Standby Redo Logs的standby中,能够进行日志的实时应用,同时Standby ...

随机推荐

  1. Goldengate进程的合并与拆分规范

    Goldengate抽取进程的合并与拆分原则 1.    文档综述 1.1.  文档说明 本文档描述了对GoldenGate的抽取进程进行拆分和合并的基本原则和详细步骤.  1.2.  读者范围 本文 ...

  2. Kubernetes1.5 集成Heapster

    Kubernetes1.5 集成Heapster Heapster是kubernetes集群监控工具.在1.2的时候,kubernetes的监控需要在node节点上运行cAdvisor作为agent收 ...

  3. JavaScript笔记(3)

    •位操作符 所有的按位操作符的操作数都会被转成补码形式的有符号的32位整数. 运算符 用法 描述 按位与(AND) a & b 对于每一个比特位,只有两个操作数相应的比特位都是1时,结果才为1 ...

  4. 学习参考《Python基础教程(第3版)》中文PDF+英文PDF+源代码

    python基础教程ed3: 基础知识 列表和元组 字符串 字典 流程控制 抽象(参数 作用域 递归) 异常 魔术方法/特性/迭代器 模块/标准库 文件 GUI DB 网络编程 测试 扩展python ...

  5. 认识Vue组件

    前言 Vue.js是一套构建用户界面的渐进式框架(官方说明).通俗点来说,Vue.js是一个轻量级的,易上手易使用的,便捷,灵活性强的前端MVVM框架.简洁的API,良好健全的中文文档,使开发者能够较 ...

  6. 【BZOJ 1047】[HAOI2007]理想的正方形

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 二维的ST表. 每个大的正方形可以由4个小的正方形组成. 然后区域内的最大值最小值.也可以由4个小的张方形部分全部覆盖到. [代码] ...

  7. POJ 1152 An Easy Problem! (取模运算性质)

    题目链接:POJ 1152 An Easy Problem! 题意:求一个N进制的数R.保证R能被(N-1)整除时最小的N. 第一反应是暴力.N的大小0到62.发现当中将N进制话成10进制时,数据会溢 ...

  8. 理解Linq查询

    using System; using System.Linq; static class Program { static double Square(double n) { Console.Wri ...

  9. javaScript for in循环遍历对象

    for循环常被我们用来遍历数组,而如何遍历对象呢? 这时就需要用到for in循环了 写一个遍历对象名简写如下: for(var xxx in ooo){console.log(xxx)} 其中xxx ...

  10. 机器学习实践:《Python机器学习实践指南》中文PDF+英文PDF+代码

    机器学习是近年来渐趋热门的一个领域,同时Python 语言经过一段时间的发展也已逐渐成为主流的编程语言之一.<Python机器学习实践指南>结合了机器学习和Python 语言两个热门的领域 ...