Oracle Dataguard(主库为单节点)配置详解(1):Oracle Dataguard 工作原理

Oracle Dataguard(主库为单节点)配置详解(1):Oracle Dataguard 工作原理

Oracle Dataguard 是保证企业数据的高可用性(high availability,HA)、数据保护(data protection)与灾难恢复(disaster recovery)的集成化灾难恢复解决方案。

Oracle Dataguard 针对生产数据库创建一个或多个同步备份,由一个生产数据库和若干个备用数据库组成,形成一个独立的、易于管理的数据保护方案。

一、Oracle Dataguard 工作过程

1、当某次事务更改主库中的数据时,Oracle 在联机重做日志文件(redo log)中记录此次更改。Oracle Dataguard使用日志写入器进程(LGWR)或归档器进程(ARCH)收集重做日志信息。

2、主库除了把日志记录到本地的联机日志文件和归档日志文件中,还通过网络,把日志信息发送到远程的备库服务器。

备用日志文件写入过程可以实时同步(SYNC,最大保护模式),以实现零数据丢失。也可以是异步(ASYNC,最大可用性模式)的,以减少对网络带宽的压力。或者通过归档日志文件的批量传输模式(最大性能模式),以减少对生产系统的性能影响。

3、在备库上,Oracle Dataguard使用远程文件服务器(RFS)进程从主库接收重做日志(redo log)信息,使用管理恢复进程 (MRP)将重做日志信息应用到物理备库中。使用逻辑备用进程(LSP)将经过SQL转换的重做日志信息应用到逻辑备库中。

4、当主库打开并处于活动状态时,备库可以执行恢复操作。如果主数据出现了故障,备库即可以被激活并接管主库的工作。

下图为一个Oracle Dataguard的模型。

在这里插入图片描述

上图中,主库在运行时会不断产生redo log,这些日志会通过网络传送到备库,这个传送动作,可以由ARCH完成,也可以由LGWR完成,选用哪种进程,对数据库的可用性和DG的保护能力有着很大的区别。

二、Oracle Dataguard 日志传送方式

1、使用 ARCH 进程传送日志

主库不断的产生redo log,这些日志被LGWR写进联机日志,当一组联机日志被写满,会发生日志切换,并且ARCH会将其归档,ARCH进程还会通过网络把归档日志传送给备库的一个叫做RFS的进程,备库接受日志并写入到归档日志,然后备库的MRP进程(redo apply)或者LSP进程(SQL apply)在备库上应用这些日志,于是数据就同步了。

默认情况下,主库使用ARCH进程传送日志,不需要特别的设置。

2、使用LGWR进程传送日志

LGWR又分为SYNC(同步)和ASYNC(异步)两种方式:

(1)使用 LGWR 进程的 SYNC 方式

主库产生redo log要同时写入到日志文件和网络,即LGWR把日志写到本地联机日志文件的同时,还发送给本地的LNSN进程(Network Server Process),然后LNSN进程把日志内容通过网络发送到备库。

LGWR必须等待写入本地联机日志和LNSN进程传送成功,主库的事务才能提交,这就是实时同步的原理。

备库的RFS进程把接收到的日志立刻写入standby redo log中。

备库的恢复方式可以是实时恢复,也可以是完成对standb

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

睿思达DBA_WGX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值