1.概述
Data Guard支持两种使用LNS(Log Network Server)进程的重做传输方法:同步(SYNC)和异步(ASYNC)。
传输进程架构:
2.同步传输
同步传输(synchronous transport,SYNC),又称“零数据损失”方法,因为要等到LNS确认事务恢复所需的重做数据已被写入到备用库的磁盘上,才允许LGWR确认提交成功。如图:
(1)当用户发出 commit命令后,将产生一条 redo record (也称作redo entry)放入SGA中的 redo buffer 中,后台进程LGWR将读取此redo record,将其写入online redo log file,然后等待从LNS进程传来的确认信息。
(2)LNS进程同样从redo log buffer读取redo record,并将其通过Oracle Net Services传输给standby DB。在standby DB上的RFS后台进程将接收到的redorecord写入standbylogfile中。
(3)当RFS确定写入所有的redo record到磁盘后,向primaryDB的LNS发送确认信息。当LGWR收到LNS转发的确认信息后,才返回commit成功的消息给用户。
3.异步传输
异步传输(asynchronous transport,ASYNC)与SYNC的不同之处在于,LGWR不必等待来自LNS的确认消息,而且 Data Guard 11g LNS直接读取redo buffer中的redo record。如果LNS赶不上进度,LNS进程会平滑切换到从主数据库的ORL读取和发送(在11g版本内增强了这一功能)。
4.自动间隔侦测
当LNS进程停止将重做数据传输到备用数据库,而主数据库却就继续提交事务时,就会出现日志文件间隔,另外网络失效时也可能产生这种情况。在此状态下,主数据库LGWR进程继续写入到当前ORL,填满ORL后,会切换到下一组ORL,此时归档进程会在本地归档已满的ORL,这在繁忙的系统会出现很大的日志间隔。
在中断期间,Data Guard在主数据库上使用ARCH进程连续ping备用数据库来确定其状态。当还原与备用数据库的通信后,ARCH ping进行会查询备用控制文件(通过其RFS进程),来确定备用数据库从主数据库收到的最后一个完整日志文件。Data Guard确定需要哪些日志文件来重新同步备用数据库,然后立即开始使用其他ARCH进程传输相应文件。在接下来执行日志切换时,LNS会试图连接备用数据库,成功后开始传输当前的重做数据,而ARCH进程在后台处理间隔。上图的虚线表示传输和应用所需的重做来处理日志文件间隔。一旦备用应用进程能赶上当前重做记录的进度,应用进程就自动切换,不再读取归档重做日志,改而读取当前的SRL(若配置了Data Guard).
从Data Guard 10g开始,主数据库的一个ARCH进程一直专门负责本地归档,从而确保在处理间隔期间,远程归档操作不影响主数据库的归档操作。
在主备数据库之间处于非同步状态的时间越久,故障发生时损失数据的风险越大。Data Guard运行时使用多个后台ARCH进程来快速处理间隔,与此同时,LNS进程像往常一样执行当前日志流的SYNC和ASYNC传输。
相关推荐
12c Data Guard配置手册主要围绕Oracle Database 12c Release **.*.*.*.0版本展开,涉及Data Guard的快速部署方法,以及使用RMAN(Recovery Manager)实现数据文件同步等关键技术操作。本文将基于提供的内容部分详细...
2. 优化redo日志传输和应用,减少网络延迟和资源消耗。 3. 设计合适的保护模式,平衡性能与数据安全性。 4. 配置适当的归档和备份策略,以便在需要时恢复数据。 5. 保持软件和补丁更新,确保Data Guard功能的完整性...
配置Data Guard的保护模式,如Maximum Availability或Maximum Performance,根据业务需求选择是否启用redo应用到备用数据库。 4. **同步数据**:通过Redo Apply过程,将主数据库的redo日志实时应用到备用数据库,...
Data Guard服务包括三个关键部分:日志传输服务负责重做日志的自动传输;日志应用服务将重做日志应用到物理备用数据库,并将SQL语句应用到逻辑备用数据库;角色管理服务控制主备数据库的角色切换。 Data Guard提供...
Data Guard 技术的日志传输方式包括: 1. 同步传输(Synchronous):redo 数据实时传输到备用数据库。 2. 异步传输(Asynchronous):redo 数据异步传输到备用数据库。 Data Guard 技术的日志传输机制包括: 1....
3. **redo transport服务**:Data Guard通过传输主库的redo日志到备库,使备库能够应用这些日志并保持同步。配置redo transport服务是Data Guard的核心部分,需要在主库和备库上分别设置相应的参数,如`LOG_ARCHIVE_...
- **Redo传输优化**:调整redo日志传输的网络设置,减少延迟和提高传输效率。 - **Standby Redo Logs**:增加备用数据库的redo日志组,以减少等待时间并提高性能。 7. **备份与恢复策略** - **利用备用数据库...
Data Guard通过实时传输日志,使备用数据库保持与主数据库几乎同步的状态。当主数据库出现故障时,可以无缝切换到备用数据库,避免数据丢失。 1.3.2. DG的配置方法 配置Data Guard通常包括设置物理 standby、逻辑...
通过Fast-Start Failover (FSFO) 和 Maximum Performance (MAX_PERF) 模式,Data Guard可以根据业务需求调整redo日志传输的速度和方式。 2. **Physical Standby Databases**:物理备用数据库以主数据库完全相同的...
4. **监控和维护**:定期检查Data Guard状态,确保日志传输正常,备用数据库可随时接管。 了解了 RAC 和 Data Guard 的基本配置后,让我们深入探讨它们的工作原理。RAC 使用 Cluster Interconnect 实现节点间的通信...
- 定期检查Data Guard状态,监控redo传输、应用速度和数据库健康状况。 - 根据业务需求调整保护模式,如在不影响主库性能的前提下,可选择最大性能模式。 总结来说,Oracle 11.2.0.3的ADG特性使得Data Guard不仅...
Data Guard 的进程结构包括:主库通过 LGWR 进程将 redo 数据传输到备用库的远程文件服务器进程 RFS 中,然后写入本地在线 redo 日志文件中;远程文件服务器 RFS 进程从主库接收到 redo 记录后,写入备用服务的备用 ...
2. 数据同步:通过Redo Transport Services传输redo日志,备库应用这些日志进行数据更新。 3. 配置保护模式:根据业务需求选择合适的保护模式,调整保护级别和延迟策略。 4. 故障检测与切换:利用Data Guard Broker...
Data Guard通过日志传输,将主数据库上产生的重做日志(redo logs)传输到备用数据库,并在备用数据库上应用这些日志,保持数据同步。Data Guard提供了几种不同类型的备用模式,包括物理备用数据库和逻辑备用数据库...
4. **维护Data Guard**:在 Data Guard 模式下,定期检查 redo 日志传输状态,确保数据的一致性和完整性。同时,监控数据库性能和资源使用情况,以保持系统的高效运行。 物理 Data Guard 提供了一种强大的灾难恢复...
Data Guard提供了一套全面的保护机制,包括实时数据复制、故障检测、自动故障转移以及可配置的数据保护模式,以满足不同级别的业务需求。 一、Data Guard的基本架构 1. 主数据库(Primary Database):运行在生产...
3. **Redo Apply**:在Physical Standby模式下,主数据库的重做日志被传输到备用数据库,然后在备用数据库上应用,使备用数据库保持最新状态。这个过程称为Redo Apply。 4. **Fast Start Failover**:Oracle Data ...
2. **日志传输机制** - **日志发送**(Redo Send):Primary Database生成的日志通过网络发送到Standby Database。 - **日志接收**(Redo Receive):Standby Database接收并存储这些日志。 - **日志应用**(Redo...
总结来说,Oracle Data Guard通过冗余数据、日志传输和应用,以及灵活的角色切换策略,为企业提供了强大的数据库保护和高可用性保障。它不仅能够应对硬件故障、软件错误和自然灾害,还可以在不影响业务运行的前提下...