码迷,mamicode.com
首页 > 数据库 > 详细

Oracle学习之DATAGUARD(一) DG架构

时间:2015-08-02 23:32:08      阅读:416      评论:0      收藏:0      [点我收藏+]

标签:dg 架构

    DataGuard运行原理非常简单:传输日志、应用日志。下图表示了DG的基本架构

技术分享

  1. 日志传输服务将主库产生的日志数据传到从库。

  2. 应用服务(Apply Service)验证日志数据,并且更新从库的数据文件。

  3. 主数据库的写进程更新数据文件,并不依赖于DataGuard架构。

  4. 当网络或者从库故障恢复时,DG自动重传已经被主库归档的日志数据。

 

  • 日志传输服务Redo Transport Services

         Redo Transport Services协调主从库之间的日志传输。当主库LGWR写日志时,Log Network Server (LNS)程序从Log buffer cache中读取日志数据,通过Oracle Net Services将数据传输到从库上。从库上的Remote File Server (RFS)接收传过来的日志。RFS将接收到的日志写到standby redo log file (SRL).在多从库环境下,主库为每个从库都启用一个独立的LNS进程,用来传输日志数据。

         使用LNS进程,DataGuard支持两种日志传输方式:同步、异步。

         同步日志传输Synchronous Redo Transport

         Synchronous transport (SYNC) 也被称为"零数据丢失"。只有当LNS确认日志被传输到从库并且已经写入磁盘后,主库上的commit操作才会被认为成功。

 

Data Guard 日志传输进程架构

技术分享

 

SYNC redo transport architecture

技术分享

 

  1. 用户commit一个事务,将在Redo Buffer中生成一些redo record 。LGWR从Log buffer中读取redo record并将其写入Online Redo Logs,于此同时等待LNS进程的确认。

  2.  LNS从Redo Buffer中读取相同的redo record,通过ONS将其传输到从库。RFS接收日志,将其写入Standby Redo Logs。

  3. 当RFS写日志成功后,传输一个确认信号给主库上的LNS,LNS将此确认信息告知LGWR。此时LGWR才能反馈给用户提交成功的信息。 

本文出自 “叮咚” 博客,请务必保留此出处http://lqding.blog.51cto.com/9123978/1681073

Oracle学习之DATAGUARD(一) DG架构

标签:dg 架构

原文地址:http://lqding.blog.51cto.com/9123978/1681073

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!