Oracle学习之DATAGUARD(一) DG架构
admin
2023-05-08 15:42:14
0次

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

Oracle学习之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 日志传输进程架构

Oracle学习之DATAGUARD(一) DG架构

 

SYNC redo transport architecture

Oracle学习之DATAGUARD(一) DG架构

 

  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才能反馈给用户提交成功的信息。 

 

Asynchronous transport (ASYNC)

  日志异步传输,LGWR无需等待LNS的确认信息。这种情况,standby几乎对主库没有任何的性能影响。如果LNS传输日志的速度跟不上LGWR写,当Log buffer被回收后,LNS就从online redo file从读取日志传输到从库。一旦LNS的速度跟上了,又会从Log buffer中读取数据。

Oracle学习之DATAGUARD(一) DG架构

  有一种情况,假设LNS正在读的current log的编号为10,再读的过程中发生了两次日志切换。现在current log编号变成了12. 这个时候LNS读完了10. 它不会接着去读取11号日志。而是直接切换到当前日志,编号为12的。 这种情况,11号日志没有被LNS传到standby 数据库. 我们称之为log file gap

当发生log file gap时,被归档的日志文件由arch进程负责传输到从数据库。

Oracle学习之DATAGUARD(一) DG架构

 

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...