Oracle Data Guard 工作流程

从这期开始讲Oracle Data Guard方面的内容,先将基本的概念,然后介绍如何搭建Data Guard

Data Guard作为Oracle提供的一个高可用及灾备解决方案,理解并可以实施它对于DBA来说是非常重要套的技能

上节讲了一些Data Guard的一些概念和参数,这节讲述Data Guard整个的工作流程,更好的理解以后的配置

这节分2部分:

有Standby Redo Logs

Alt text

主库端:

  1. 事务生成redo数据至log buffer

  2. LGWR进程将log buffer的数据写入Online redo log

这里根据主库的保护模式redo数据有如下传输方式:

注意:NSSn在12c才出现,之前版本使用LNS 进程

备库端:

  1. 备库上的RFS进程将redo data 写入到 Standby redo log

  2. 接下来根据备库的应用模式,redo 应用有如下方式:

  3. 如果使用实时应用(Real Time Apply)模式,MRP0 进程直接从SLR里面读取redo data并应用

  4. 如果是非实时应用,MRP0会等待SRL归档完成或者达到delay的时间才会应用

无Standby Redo Logs

Alt text

主库端:

  1. 事务生成redo数据至log buffer

  2. LGWR进程将log buffer的数据写入Online redo log

  3. 当OLR填满或者切换时,归档进程(ARC0)会复制ORL到归档日志

  4. 接下来ARC1归档进程会将归档日志传输给备库的RFS进程

备库端:

  1. 备库的RFS进程读取传输过来的归档日志

  2. 备库的ARCn进程将读取的redo data重新归档在备库的归档路径

  3. 当归档完成,MRP0进程会读取归档日志的redo 数据在备库上应用

为什么需要使用SRL

从上面的介绍中,我们强烈推荐Data Guard 使用Standby redo log

关于备库的归档日志路径

从上面的流程可以看出无论有无SRL,实际上备库的归档日志文件是由备库进程产生的

所以主库不能控制备库的归档日志路径

好了,关于Oracle Data Guard的工作流程就这么多了,通过这节内容我们知道了具体的流程和使用SRL的好处

下节讲述如何搭建物理备库

本文参考自:

https://community.oracle.com/docs/DOC-1007036