APP下载

Oracle数据库任意距离零数据丢失保护的解决方案

2016-12-26中国传媒大学南广学院薛雁丹卜言彬杨文娟

电子世界 2016年21期
关键词:日志实例远程

中国传媒大学南广学院 薛雁丹 卜言彬 陈 婷 杨 艳 杨文娟

Oracle数据库任意距离零数据丢失保护的解决方案

中国传媒大学南广学院 薛雁丹 卜言彬 陈 婷 杨 艳 杨文娟

为实现数据库长距离零数据丢失保护和可用性,提出了实时远程同步的解决方案。Oracle Active Data Guard(ADG)实时远程同步解决方案实现零数据丢失保护扩展至位于主数据库任意距离的一个或多个备用数据库,并且不会因此影响性能,避免核心的任务关键型的Oracle数据库发生单点故障,而且成本和复杂性最小,从而避免在数据保护上做出让步。

零数据丢失;远程同步;实时处理

1 引言

ADG与 Oracle 数据库深度集成,完全专注于实时数据保护和可用性,是Oracle数据库发生单点故障的最全面的全库级数据复制解决方案,它具备数据保护和自动检测恢复的双重能力。如果主数据库因各种原因导致不可用,那么,通过ADG解决方案不仅可提供零数据丢失保护,还可实现近似即时恢复。但是,当主数据库与备用数据库相隔很远时,任何实时同步复制方法都会对数据库的性能产生影响,这使得实现零数据丢失保护变得不切实际,而ADG 远程同步可将零数据丢失保护扩展到和主数据库任意距离的备用数据库上。

2 零数据丢失保护方案

数据库业务连续性是IT系统连续性的核心,但由于种种原因可能导致数据库系统不可用。因此,在不影响生产数据库性能前提下,零数据丢失保护尤为重要。

2.1 Data Guard(DG)零数据丢失保护

要实现零数据丢失保护,要求生产数据库与备用数据库之间必须进行同步通信,DG通常采用最高可用性保护模式和重做同步传输相结合的配置方式来实现。采用这种方案后,用户在主数据库中提交事务时,Oracle 会生成重做并写入本地联机日志文件,同时, DG传输服务立即从主库日志缓冲区中将相同的重做传输到备用数据库,并将其写入备用重做日志文件,然后返回写入成功的确认信息给主库。即同步传输需要主数据库等待本地和远程日志文件写入完成,然后再向应用程序发送提交成功通知,一个交易事务才算完成。然而,随着主库与备用库之间距离的增加,确认远程日志文件写入所需的总往返时间可能会对主库的性能影响非常大,以至于实现零数据丢失保护变得不切实际。

2.2 ADG远程同步零数据丢失保护

ADG远程同步可实现零数据丢失故障快速切换至远程的备用数据库。远程同步在距离主数据库可接受的范围内部署一个远程同步实例实现同步传输。远程同步实例是轻量级的 Oracle实例,仅包含控制文件、Spfile、口令文件和备用日志文件,只需少量的计算和内存资源。远程同步实例通过同步传输从主数据库接收重做日志,并立即通过异步传输方式将该重做转发至最多29 个远程备用数据库,如图1所示。

图1 ADG远程同步架构

利用远程同步,实现跨广域网零数据丢失保护和故障切换。另外,远程同步实例可分流主库的负载压力,如解析远程备用库所接收的归档日志中的差异、多个备用库的重做传输开销和重做压缩等。

3 ADG远程同步部署架构

根据应用场景和高可用的需要,可以采用不同的远程同步部署架构,以下介绍三个常见的远程同步架构。

3.1 单远程同步实例配置方案

这是最基本的配置方案,使用一个远程同步实例将主数据库零数据丢失故障切换扩展至远程备用数据库,如图2所示。通常情况下,远程同步实例与主数据库部署在城域内的不同位置,以免受站点的故障影响正常的容灾系统。远程同步实例即使部署在同一个数据中心内部仍有一定的好处,除完全站点故障之外,主数据库所有无法恢复的故障都可快速地进行零数据丢失切换到备用库。

图2 单远程同步实例配置

在本配置方案中,如果远程同步实例发生故障、中断服务, ADG可自动使用异步传输方式直接传输重做到远程的备用数据库,以实现接近零的数据丢失保护。一旦远程同步实例修复并重新建立连接,ADG自动恢复为零数据丢失保护模式。

3.2 采用高可用的远程同步实例配置方案

高可用的远程同步配置方案建立在上一方案之上,它以HA的方式增加了第二个远程同步实例作为第一个远程同步实例的备用目标,如图3所示。假如正在服务的远程同步实例发生故障中断,则ADG自动地切换到另一个远程同步实例,最大程度地降低了对零数据丢失保护的中断。

图3 零数据丢失保护的 HA 配置

HA的切换通常需要几秒钟的时间。也可采用Oracle RAC部署远程同步实例,即RAC的健康节点可快速接管服务,可消除或尽量缩短远程同步中断期间配置低于零数据丢失保护级别的时间段。

角色转换之后的零数据丢失保护配置方案

当故障发生后,主备数据库角色转换,为快速恢复零数据丢失服务水平,建议采用本配置方案。本方案建立于方案1和方案2之上,即在远程备用数据库的城域距离内增加一个远程同步实例(图4)。当备用数据库处于备用角色时,这个远程同步实例处于Standby状态。当备用数据库转换为主数据库角色时,该远程同步实例转为活动状态,允许零数据丢失故障切换至新的备用数据库(原主数据库)。当原主数据库处于备用角色时,其本地的远程同步实例变为非活动状态。

猜你喜欢

日志实例远程
让人胆寒的“远程杀手”:弹道导弹
远程工作狂综合征
一名老党员的工作日志
扶贫日志
雅皮的心情日志
远程诈骗
游学日志
完形填空Ⅱ
完形填空Ⅰ
一次神奇的远程渗透破袭战