realsync - dsgdata.comb2%fa%c6%b7%b0%d7%c6... · 3.6 ops/rac 的支持 ... dsg realsync...

29
RealSync 数据库异构复制热容灾解决方案

Upload: trinhdang

Post on 05-Feb-2018

251 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: RealSync - dsgdata.comb2%fa%c6%b7%b0%d7%c6... · 3.6 OPS/RAC 的支持 ... DSG RealSync 设计用于为 ORALCE 数据库数据进行数据复制。该系统通过安装在源

RealSync 数据库异构复制热容灾解决方案

Page 2: RealSync - dsgdata.comb2%fa%c6%b7%b0%d7%c6... · 3.6 OPS/RAC 的支持 ... DSG RealSync 设计用于为 ORALCE 数据库数据进行数据复制。该系统通过安装在源

目录 RealSync 数据库异构复制热

容灾解决方案

2

目录

1 概述 .................................................................................................... 4

1.1 数据流通效率低下,企业信息孤岛现象严重 .............................................. 4

1.2 数据报表、查询和数据共享效率低下 ......................................................... 4

1.3 数据容灾级别提升 .......................................................................................... 4

1.4 企业需要新的信息架构 ................................................................................... 5

2 RealSync 软件模块 ........................................................................... 5

2.1 RealSync for Production Server ................................................................. 6

2.2 RealSync for Destination Server ................................................................ 6

2.3 RealSync management console ................................................................. 6

3 RealSync 工作原理 ........................................................................... 7

3.1 日志抓取 ..................................................................................................... 7

3.2 日志分析 ..................................................................................................... 8

3.3 交易合成 ..................................................................................................... 8

3.4 交易传输 ..................................................................................................... 9

3.5 数据装载 ................................................................................................... 10

3.5.1 采用 DXF 数据格式的装载 ................................................................ 10

3.5.2 采用 Mapping 方式快速定位 ............................................................. 11

3.6 OPS/RAC 的支持 ....................................................................................... 11

3.7 数据完整性保证 ........................................................................................ 12

3.8 数据初始化装载 ........................................................................................ 13

3.8.1 首次批量数据装载 .............................................................................. 13

3.8.2 增量数据装载 ................................................................................. 13

3.9 其他数据初始化技术 ................................................................................. 14

3.10 ROWID 回传技术 ........................................................................................ 14

3.11 选择性复制支持 ...................................................................................... 15

Page 3: RealSync - dsgdata.comb2%fa%c6%b7%b0%d7%c6... · 3.6 OPS/RAC 的支持 ... DSG RealSync 设计用于为 ORALCE 数据库数据进行数据复制。该系统通过安装在源

目录 RealSync 数据库异构复制热

容灾解决方案

3

4 RealSync 软件功能 ......................................................................... 15

4.1 支持多种复制方式 ........................................................................................ 15

4.2 按需复制 ................................................................................................... 16

4.3 主备环境异构 ............................................................................................ 16

4.4 首次全同步 ............................................................................................... 16

4.5 数据一致性检查 ........................................................................................ 16

4.6 故障的监视和诊断 ........................................................................................ 16

4.7 容灾切换 ................................................................................................... 16

4.8 RealSync 的优势 ....................................................................................... 16

5 RealSync 应用 ................................................................................. 17

5.1 RealSync 复制策略 ................................................................................... 17

5.2 RealSync 产品规格 ................................................................................... 18

5.3 RealSync 应用模型 ................................................................................... 18

5.3.1 应用分离模型 ................................................................................. 19

5.3.2 数据分发模型 ................................................................................. 19

5.3.3 数据集中模型 ................................................................................. 20

5.3.4 应用集成模型 ................................................................................. 21

5.3.5 数据仓库模型 ................................................................................. 22

5.3.6 容灾模型 ........................................................................................ 22

5.3.7 数据库迁移模型.............................................................................. 24

5.3.8 测试模型 ........................................................................................ 25

6 总结 .................................................................................................. 26

Page 4: RealSync - dsgdata.comb2%fa%c6%b7%b0%d7%c6... · 3.6 OPS/RAC 的支持 ... DSG RealSync 设计用于为 ORALCE 数据库数据进行数据复制。该系统通过安装在源

概述 RealSync 数据库异构复制热

容灾解决方案

4

1 概述

随着计算机应用系统的爆炸式发展,业务量迅速增加,业务种类日益复杂,企业必须管

理不断增长的信息流量;随着信息量的急剧增大,核心数据的管理变得日益困难。如何

安全、可靠地存储业务数据及满足未来业务数据高速增长的需要;如何有效管理日益增

长的业务数据;如何实现业务数据的共享并在现有业务数据之上建立新兴的增值应用,

如数据仓库、客户关系管理(CRM)等,成为了各企业建立信息系统的关键所在。

目前,各企业信息系统在数据管理领域存在着普遍的问题:

1.1 数据流通效率低下,企业信息孤岛现象严重

信息系统的建设主要是以应用为驱动的,是随着各种业务的逐渐建设的。当出现一类新 的业务时,

一般需要为该业务建设一套业务支撑系统,保存与该业务有关的主要数据。 而这些数据可能同时也

需要被其他应用所访问。从而自然就形成了各子系统应用在不同 的纵向,管理着不同的业务单元或

对象,各个子系统又是相互独立运行,导致形成了一 个个“信息孤岛”。这些系统相互之间没有畅

通的信息交流与共享,阻碍了企业信息化 建设的整体进程。

1.2 数据报表、查询和数据共享效率低下

为了提高市场竞争力,提高客户满意度,企业需要更复杂的、更灵活的业务统计报告、

需要深入的数据挖掘、需要实时的客户查询。而这些大量的统计、查询业务收到现有系

统架构的制约,不得不降低效率标准、不得不推迟报告时间、从而导致客户服务质量降

低、业务发展情况报告迟缓,业务发展情况不明等问题。

1.3 数据容灾级别提升

目前由于各个行业对信息系统要求越来越高,逐渐由同机房的容灾以及逐步提高到不同 的级别,容灾级别分为:

一级:数据备份级别

二级:数据库中部分业务的应急容灾

三级:同机房数据库全库容灾

四级:同城容灾、异地容灾(跨省)

五级:跨地震带级别数据容灾

Page 5: RealSync - dsgdata.comb2%fa%c6%b7%b0%d7%c6... · 3.6 OPS/RAC 的支持 ... DSG RealSync 设计用于为 ORALCE 数据库数据进行数据复制。该系统通过安装在源

RealSync 软件模块 RealSync 数据库异构复制热

容灾解决方案

5

以保证数据安全。但是不论是同城,还是异地等各种容灾方案,面临最大的问题将是如 何降低带宽,都是为了降低数据容灾的 RPO,RTO,提供数据传输的实时性。

1.4 企业需要新的信息架构

各企业比以往任何时候相比,管理和有效使用这些信息系统的能力高低都更能决定了长

期生存和发展能力,因此比以往任何时候,企业都更关注于如下领域:

提高系统运行效率,提高业务报表、提高客户服务质量,并降低客户流失率。

加强企业信息流通、提高企业信息的附加值、进一步挖掘企业信息价值、迅速开发

和推广新业务,创造更多收入并保持竞争能力。

提高信息系统业务连续运行能力,提高数据安全保护水平。

为了解决上述问题,DSG 公司推出 Realsync 数据库异构复制热容灾解决方案,实现数

据的高效复制及容灾。

DSG RealSync 设计用于为 ORALCE 数据库数据进行数据复制。该系统通过安装在源

数据库系统上的代理程序实时监控各系统的交易变化,并将变化的交易分析出来,再根

据预先设置的规则将最新信息发布给那些订购了这些信息的目标系统上,从而达到数据

复制应急的目的。

RealSync 的设计目的是为企业系统间的信息流通和共享,提升企业信息价值。企业只 需要根据自己的业务规则指定信息的获取或发布策略,即可轻易实现信息流转。通过该 软件主要为用户提供容灾、数据分离、查询、统计等应用。

2 RealSync 软件模块

RealSync 主要包含 RealSync for Production Server、RealSync for Destination Server、 RealSync management console 三大模块,如图 1 所示。

图 1 RealSync 软件模块

Page 6: RealSync - dsgdata.comb2%fa%c6%b7%b0%d7%c6... · 3.6 OPS/RAC 的支持 ... DSG RealSync 设计用于为 ORALCE 数据库数据进行数据复制。该系统通过安装在源

RealSync 软件模块 RealSync 数据库异构复制热

容灾解决方案

6

2.1 RealSync for Production Server

安装在源系统(Data Source)上运行数据库实例的服务器上,每台服务器配置一个 License。该模

块中包含以下功能模块:

Analyzer Module:日志分析模块

Synthisizer Module:交易合成模块

Exporter Module:数据传输(输出端)模块

XEXP Module:用于从已有的 Table 中批量导出数据,用于系统初始化

Rmp Loader:模拟应用传回的 rowid map 映射关系

2.2 RealSync for Destination Server

安装在复制目标系统(Data Target)上运行数据库实例的服务器上,每台服务器配置

一个 License。该模块中包含以下功能模块:

Importer Module:数据传输(输入端)模块

Loader Module:交易合成模块

XIMP Module:用于从已有的 Table 中导出数据的批量装载,用于系统初始化

Rmp Sender:把在备份端应用的数据,对应的 Rowid map 映射关系进行数据回

2.3 RealSync management console

该模块提供 RealSync 的管理控制界面。

Page 7: RealSync - dsgdata.comb2%fa%c6%b7%b0%d7%c6... · 3.6 OPS/RAC 的支持 ... DSG RealSync 设计用于为 ORALCE 数据库数据进行数据复制。该系统通过安装在源

7

3 RealSync 工作原理

RealSync 用于为 ORALCE 数据库进行数据复制,RealSync 的工作原理如图 2 所示。

图 2 RealSync 工作原理

RealSync 在 Source System 端和 Target System 端分别安装 Agent 进程,Source 端的

Agent 进程对 ORACLE 日志进行监控,发现改变及时对目标数据库进行更新。

当应用系统在 Data Source 端向数据库进行任何操作时时,这些信息都将在 RedoLog

中保存,RealSync Agent 通过对实时获取的 Log 日志进行分析,获得本次操作的交易 指令和交易数据,然后将这些交易指令和交易数据经过格式转化生成 DXF 数据格式, 并实时通过网络传送到 Data Target 系统。

Data Target 系统的 RealSync Agent 接收数据库包,经过校验码检查,确认正确的数据 库包后,调用 Oracle 函数按照交易的先后顺序在 Data Target 系统中执行该交易。

在不中断业务运行的情况下,RealSync无需在源端生产数据库插入任何表、触发器等数据

库对象,就可以将源数据库数据全同步到目标数据库上,对源端生产库性能影响非常小,

源端CPU占用率低于5%。

RealSync不依赖触发器或插入额外数据表,即可支持Oracle数据库大部分对象的DDL操作和

DML操作复制,包括以下对象:tables、users、roles、 XML Types(stored as CLOB)、XML

Types(stored as Binrary)、Nested tables、Clustered tables、IOT (Index Organized Tables )

from/to Non-IOT、Varray、Nchar等。

3.1 日志抓取

RealSync 通过安装在 Data Source 端的代理程序 Agent 模块定时分析Oracle Redo Log

来获取 Data Source 端的交易类型及数据。

如图 3 所示,RealSync Agent 通过定期检查 Oracle Controle file 中记录的当前 SCN

号来判断 Data Source 端的 Oracle 系统是否有新的交易产生。当确认 Controle file 中 有新的交易产生时,RealSync Agent 获取当前 Redo Log 组及最新日志文件的位置。 RealSync Agent 模块根据这些信息将上次抓取时记录的日志位置与本次读取的最新位

Page 8: RealSync - dsgdata.comb2%fa%c6%b7%b0%d7%c6... · 3.6 OPS/RAC 的支持 ... DSG RealSync 设计用于为 ORALCE 数据库数据进行数据复制。该系统通过安装在源

8

置之间的 Log 加以分析,并将这些数据保存在 Online Log Cache 文件中,等待下一步 进行交易合成处理。

图 3 日志抓取

Page 9: RealSync - dsgdata.comb2%fa%c6%b7%b0%d7%c6... · 3.6 OPS/RAC 的支持 ... DSG RealSync 设计用于为 ORALCE 数据库数据进行数据复制。该系统通过安装在源

9

3.2 日志分析

Oracle 数据库的所有更改都记录在日志中,当我们需要了解数据库中所作的交易时, 可以通过分

析 Oracle 数据库的日志文件实现。

RealSync Agent 中集成 DSG 日志分析功能,该功能完全不同于 ORACLE 提供的 Logminer 日志分析工具,在性能和功能上都有很大的提高。DSG 日志分析的优势主要 体现在系统性能的优化上,大幅度提高日志分析的速度,实现高并发业务系统的复制。 按照 RealSync 的日志分析设计目标,每秒能够分析的日志量达到 10M/s。

RealSync 通过对日志进行分析,得到该数据库中所有 SQL 指令,并将这些 SQL 指令

生成 DXF(DSG Extend Format)格式的表达方式。

DXF 格式是 DSG 公司的专有技术,用来表达 SQL 指令。该数据格式能够通过 DSG 的 专有转换算法直接转换为 Oracle 的内部数据表达格式,在分析和转载时仅需要进行最 小的格式转化即可。

3.3 交易合成

通过 Oracle Redo Log 分析的交易指令存在以下两个特点:

这些指令是交叉出现的。一个交易(Transaction)中的多条 SQL 指令是非连续存

储的;而多个交易中的 SQL 指令之间是相互穿插的。

Redo log 中记录了所有交易,包括已经 Commit 的交易和未 Commit 的交易。

为了提高系统的可控制性、保证逻辑完整性及避免数据丢失,最好将复制的最小单位作 为一个交易(Transaction),这样在目标端的交易装载更加容易控制。

同时对于复制的数据而言,在目标系统中只有那些已经 Commit 的数据是有意义的,

Rollback 的数据无需复制到目标系统上。

因此 RealSync 不是复制每个 SQL 语句,而是对抓取的数据进行交易整合后以交易

(Transaction)为单位进行复制,并且只复制 Commit 的交易。

Page 10: RealSync - dsgdata.comb2%fa%c6%b7%b0%d7%c6... · 3.6 OPS/RAC 的支持 ... DSG RealSync 设计用于为 ORALCE 数据库数据进行数据复制。该系统通过安装在源

10

图 4 交易合成

如图 4 所示,Online Log Cache 文件包含 Commit 的交易、没有 Commit 的交易和 Rollback 的交易。交易合成模块首先按照交易序号对 SOL 语句进行划分,然后以交易 为单位将已经 Commit 的交易,传递到传输处理模块,将未 Commit 的交易保存在本地, 将 Rollback 的交易作丢弃处理。当交易合成模块通过日志得知保存的未 Commit 的交 易已经提交,则该交易将会被立即发送到传输处理模块中。

3.4 交易传输

RealSync 为了保证数据传输的安全性和可靠性,在传输处理上进行改进:

1. 数据在传输之前首先存入源数据端的 Cache,传输进程(Export Process)从 Cache

中读取交易数据并将其封装为 TCP/IP 数据包,传送给源端的 Import 进程。

2. 在目标端,Import 进程在收到传输的交易数据包后,首先将数据包存入 Queue 中, 然后由 Load 进程从 Queue 中严格按照交易的顺序装载交易信息。

图 5 交易传输

如图 5 所示,负责传输的进程(Export Process)从本地队列中按照先进先出的原则抓 取需要传输

的交易,然后将交易数据封装成一个数据包后,通过 TCP/IP 协议传递给目

Page 11: RealSync - dsgdata.comb2%fa%c6%b7%b0%d7%c6... · 3.6 OPS/RAC 的支持 ... DSG RealSync 设计用于为 ORALCE 数据库数据进行数据复制。该系统通过安装在源

10 迪思杰集团版权所有

标端系统。目标端系统在接受到传来的数据包后,首先根据包头描述的包大小进行传输 的合法性检查,判断是否传输完整。

RealSync支持复制数据压缩传输,将所复制的数据库数据在传输到目标端的过程中进行压缩。

当源端采用Oracle 数据库和Oracle Exadata 数据库云服务器时,SuperSync支持对其上使用压缩功能

的数据表的复制,包括:Basic段压缩、OLTP高级压缩、混合列压缩 (Hybrid Columnar

Compression)等。

3.5 数据装载

在传统的复制技术中,常用的数据装载方式是采用 Oracle 的 SQL 接口,通过 Insert、 Update、Delete 等 SQL 语句实现数据的装载。SQL 语句的执行需要经过 parse、plan、 格式转换等过程,尤其对于 Update 和 Delte 操作,其大量的 Where 子句需要进行复杂 的查询定位,这些都增加系统开销,导致装载性能低下。

因此 RealSync 在装载性能上进行了大幅度的改善,使得装载端的性能和处理能力需求 降至最低,RealSync 主要采用了两个关键技术提高装载速度:

采用 DXF 数据格式的装载。

采用 Rowid mapping 的方式实现快速定位。

3.5.1 采用 DXF 数据格式的装载

DXF(DSG Extend Format)格式是 DSG 公司的专有技术,用来表达 SQL 指令。该 数据格式能够通过 DSG 的专有转换算法直接转换为 Oracle 的内部数据表达格式,在分 析和转载时仅需要进行最小的格式转化即可,提高分析和装载速度并减少资源占用。

Oracle 数据库系统在设计上提供 4 个层次的接口,其中包括 User 层、SQL 层、

Transformation 层和 I/O 层。RealSync 通过 DXF 数据格式装载时,调用 I/O 层直接将

数据通过 Oracle 的最底层函数写入系统中,如图 6 所示。

图 6 数据装载

Page 12: RealSync - dsgdata.comb2%fa%c6%b7%b0%d7%c6... · 3.6 OPS/RAC 的支持 ... DSG RealSync 设计用于为 ORALCE 数据库数据进行数据复制。该系统通过安装在源

11 迪思杰集团版权所有

Page 13: RealSync - dsgdata.comb2%fa%c6%b7%b0%d7%c6... · 3.6 OPS/RAC 的支持 ... DSG RealSync 设计用于为 ORALCE 数据库数据进行数据复制。该系统通过安装在源

12 迪思杰集团版权所有

3.5.2 采用 Mapping 方式快速定位

因为交易中存在大量 Where 子句操作,如果采用标准 Sql 语句执行这些操作时,系统 需要定位目

标并记录所在的数据文件的位置信息,这将产生大量的索引查询。当并发执 行数千条指令时,系统的开销将变得非常庞大。

RealSync 工具不采用上述方式实现装载数据的定位,而是通过 Row Mapping 的方式实 现记录的快

速定位:

1. RealSync 从源端 Log 文件中读取交易数据,将获得该交易对应记录的所在位置用

rowid 表示为 rowid_ds。

2. 当该交易在目标端装载时,系统不翻译为 Where 子句,而是通过保存在目标端的

row mapping 表获得对应目标端该记录的所在位置 rowid,记录为 rowid_dt。

因此目标端装载时仅需要通过 rowid 就能够直接定位到该数据需要写入的位置,避免了 大量的索引查找时间。每条记录的 Row Mapping 信息是在该记录执行 Insert、Sql Loader

或首次批量同步时建立起来的。

3.6 OPS/RAC 的支持

Oracle OPS/RAC 是一种多实例同时打开同一个数据库的技术,每个实例共享同一份数 据文件和控制文件(控制文件可能有多个,但是内容相同,为每个实例所共享)。一个 例外是,每个实例的 Redo Log 都专属于该实例,如图 7 所示。但每个实例的所有 RedoLog 都必须能够被其他实例访问。所有实例的 Redo Log 一般都保存在共享磁盘 中(裸设备或集群文件系统)。

图 7 OPS/RAC 技术

Page 14: RealSync - dsgdata.comb2%fa%c6%b7%b0%d7%c6... · 3.6 OPS/RAC 的支持 ... DSG RealSync 设计用于为 ORALCE 数据库数据进行数据复制。该系统通过安装在源

13 迪思杰集团版权所有

在 OPS/RAC 的环境下,RealSync Agent 需要安装在 OPS/RAC 一个节点上,RealSync

Agent 通过控制文件得到每个实例的 Redo Log 配置,并实时跟踪每个实例的 Redo

Thread 产生的日志,分析日志并将提交的交易发送的目标系统。

在 OPS/RAC 环境下,多个实例共用一套 SCN,每个实例对数据的修改都会引起 SCN

的递增改变,RealSync 通过 SCN 在目标端顺序提交交易,来保证数据库的一致。

3.7 数据完整性保证

RealSync 复制软件主要通过以下几个方面保证数据的一致性和完整性:

保证交易先后顺序

RealSync 严格按照源端 Transaction 执行顺序在目标端加载,严格的 I/O 顺序是 保证系统逻

辑正确的关键因素。

RealSync 通过对 Transaction 的 SCN 号进行判断,并严格保证源系统上先 Commit

的交易在目标端也是先装载。

检查日志跟踪的连续性

RealSync 在每次 log 读取结束时,都将记录当前读取的日志的 Sequence No、 Block No 和最后读取的 Offset。当下次读取文件时,先检查是否和上次读取的位 置严格连续,从而保证对日志分析的完整性。

数据一致性检查

Page 15: RealSync - dsgdata.comb2%fa%c6%b7%b0%d7%c6... · 3.6 OPS/RAC 的支持 ... DSG RealSync 设计用于为 ORALCE 数据库数据进行数据复制。该系统通过安装在源

14 迪思杰集团版权所有

RealSync 提供数据一致性检查工具,用来比较源端的记录和目标端的记录是否完 全一致。如果出现数据不一致,RealSync 将对不一致的部分进行修复。

● 坏块修复

通常间歇性的随机 I/O 错误以及写入到磁盘的内存损坏等原因易导致Oracle数据库发生块级数据

丢失。针对数据库坏块,SuperSync提供Oracle数据库坏块修复功能。SuperSync自动检测源端数

据库或目标端数据库上出现的这种损坏,并且能对其自动进行修复,从而防止数据库服务出现

中断,且无需人工干预。

3.8 数据初始化装载

当系统进行初始化或需要重新完成批量数据复制时,RealSync 提供海量数据的高速复

制功能。

DSG 复制功能是通过对数据实行导入、导出的方式实现的,该功能的实现不是通过 ORACLE Export 和 Import 工具,而是利 RealSync 中内置的 XEXP/XIMP 工具实现的。 其过程不是对数据库底层的存储数据块进行复制,而是将源系统上的已有数据记录从 datafile 中直接读取并解析成为 DXF 数据格式,再利用 XIMP 将 DXF 数据批量快速装 载到 Data target 系统上。

3.8.1 首次批量数据装载

RealSync 调用 ORACLE 的 I/O 层的 API 接口批量读取一张表(Table)的记录(每次 读多少条是由操作员在 RealSync 系统中设定的 Buffer 决定,如果一次读不完,则分为 多次读取),然后将读取的记录转化为 DXF 格式,再将 DXF 格式表示的一批记录传送 到目标端的 RealSync Agent 进程,目标端进程再调用 ORACLE 的 I/O 层的 API 接口 将数据批量写入目标系统中,如图 8 所示。

对于一个数据库而言,其中有许多张表(Table),RealSync 依次将每张表的所有数据 按照上述原

理复制到目标系统中。

XEXP 导出过程不是通过 ORACLE 的标准 select 接口,所以其导出速度非常快。同时,

在采用 DSG RealSync 实现批量数据装载时,还无需停止源系统上的业务流程。

图 8 数据首次复制

Page 16: RealSync - dsgdata.comb2%fa%c6%b7%b0%d7%c6... · 3.6 OPS/RAC 的支持 ... DSG RealSync 设计用于为 ORALCE 数据库数据进行数据复制。该系统通过安装在源

15 迪思杰集团版权所有

3.8.2 增量数据装载

Page 17: RealSync - dsgdata.comb2%fa%c6%b7%b0%d7%c6... · 3.6 OPS/RAC 的支持 ... DSG RealSync 设计用于为 ORALCE 数据库数据进行数据复制。该系统通过安装在源

16 迪思杰集团版权所有

那么 RealSync 是如何处理在导出过程中新改变的数据的复制呢?RealSync 还提供第 二阶段的增量数据复制:当上个步骤的大批量数据完成后,RealSync 再将上步骤过程 中新增加的交易重新复制到目标系统。

增量数据复制的工作原理是通过跟踪和分析从上个步骤开始时的所有 redo.log 信息, 从 log 文件中分析和翻译出这段时间内新增加的记录,然后再将记录在目标系统上插 入。如果在该过程中复制的数据在目标表中已经存在,则 RealSync 将首先删除目标系 统中的该记录,同时插入新复制的记录,如图 9 所示。

图 9 增量数据复制

在这两个执行过程中,生产系统的业务可以保持运行状态,无需中断业务。

3.9 其他数据初始化技术

除了使用 DSG 同步技术之外,RealSync 同时还支持其他复制软件初始化,包括 IBM

BCV、EMC SRDF、RMAN、DBP 等软件的备份恢复,如图 10 所示。

图 10 RealSync 支持其他数据初始化技术

3.10 ROWID 回传技术

Page 18: RealSync - dsgdata.comb2%fa%c6%b7%b0%d7%c6... · 3.6 OPS/RAC 的支持 ... DSG RealSync 设计用于为 ORALCE 数据库数据进行数据复制。该系统通过安装在源

17 迪思杰集团版权所有

RealSync 软件功能 RealSync 数据库异构复制热

容灾解决方案

根据 DSG 数据复制技术特点,在 Target 端利用 rowid 等物理直接定位物理块技术,在 快速应用数据的同时,维护回传 rowid 映射关系到源生产库,并模拟数据装载生成新的 ROWID Map 映射关系,这样可以大大降低数据库回切时间。

3.11 选择性复制支持

根据业务逻辑,很多情况下无需对所有的数据表信息进行复制,只需要复制那些需要的 表信息,这

样可以减少存储和网络带宽成本。

RealSync 支持水平和垂直分割。在水平分割方面可以只复制那些满足预先定义的条件 的记录。在

垂直分割方面允许设置对指定表的指定列进行复制,如图 11 所示。

图 11 选择性复制

4 RealSync 软件功能 RealSync 是针对 Oracle 数据库复制、异构、热可用的容灾解决方案,为企业提供强大、 可靠的复制容灾功能。

4.1 支持多种复制方式

RealSync 支持多种复制方式。支持双活、双向、一对多、多对一、级联复制;支持 DML

和主要 DDL 操作复制,支持 SEQUENCE、函数、存储过程、视图、同义词、索引、 应用包、用户等数据库对象复制; 支持无 PK/UK 字段表复制。在复制过程中无需打开 或修改数据库参数,同时可定义并过滤不需要复制的事务。

支持对所有Oracle主流版本,RealSync支持Oracle 12C的Multitenant容器数据库(CDB) 特性,

支持实时捕获容器数据库中的各个可插拔数据库 (PDB)的数据变更,并复制到目标端的数据

库中。

Page 19: RealSync - dsgdata.comb2%fa%c6%b7%b0%d7%c6... · 3.6 OPS/RAC 的支持 ... DSG RealSync 设计用于为 ORALCE 数据库数据进行数据复制。该系统通过安装在源

18 迪思杰集团版权所有

RealSync 软件功能 RealSync 数据库异构复制热

容灾解决方案

4.2 按需复制

RealSync 同时实现选择性复制。无需对所有的资料表信息进行复制,仅根据实际需要 复制相应的表信息。Realsync 可以指定需要复制的 schema、指定不需要复制的 schema、指定复制某些 schema 下的某些 table、指定排除某些特定的 table 等配置方 式。

4.3 主备环境异构

RealSync 在源系统上通过 Log 分析系统的交易指令(Transaction),然后将交易指令 在目标端装载。目标端的数据库处于 Open 状态,实现两端的操作系统、数据库平台等 都可以属于不同版本。

4.4 首次全同步

RealSync 在不中断业务运行的情况下,从源数据库上把已有的存量数据初始化同步到 目标系统上来,即将源系统上的所有表的数据 export 并传输到备份系统上 import,实 现初始数据的同步。

4.5 数据一致性检查

Realsync 提供数据一致性检查工具,用来比较源端的记录和目标端的记录是否完全一 致。如果出

现数据不一致,Realsync 将对不一致的部分进行修复。

4.6 故障的监视和诊断和自恢复 在日常运行过程中,当RealSync由于网络中断、源端数据库实例失败、目标端数据库实例失败

等原因造成复制停止,RealSync能够以自定义间隔自动检测并在异常排除后立即自动恢复数据

复制,保障数据无丢失。

RealSync 对系统进行实时监视,当系统出现不正常情况时,及时发出告警信息。

4.7 容灾切换

一旦生产数据库因某种情况而不可用时,RealSync 能实现备份数据库切换为新的生产 数据库,保证主业务正常运行。RealSync 为业务系统提供持续的数据服务能力,为企 业实现无数据损失或最小化数据损失目的。

4.8 RealSync 的优势

无需中断业务:RealSync 在不中断业务的情况下可以实现数据首次全同步和不一

致数据修复,无需人工干预,简化软件操作,减少用户工作量。

Page 20: RealSync - dsgdata.comb2%fa%c6%b7%b0%d7%c6... · 3.6 OPS/RAC 的支持 ... DSG RealSync 设计用于为 ORALCE 数据库数据进行数据复制。该系统通过安装在源

19 迪思杰集团版权所有

RealSync 应用 RealSync 数据库异构复制热

容灾解决方案

提高业务应急接管能力:Realsync 的 DML 复制方式,保证生产系统和备份系统的 数据完全一致。当生产库发生故障时,备份系统能高效的完成业务应急接管,容灾 切换时间小于 5 分钟。

统一监控管理:提供的中文操作界面实时对复制软件的运行状态、运行日志、系统 配置等方面进行统一的管理及监控。

减少生产系统干扰:Realsync 的实时数据复制技术不需要通过任何数据库的引擎 来获取变更数据,而是通过数据库自身的信息获取源系统上的改变并传送给目的系 统,不会对生产系统造成性能影响。

降低系统成本:RealSync 支持生产系统和容灾系统的异构环境,同时支持各种复 制策略,如:1:1 单向复制、一对多复制、多对一复制等,最大限度支持用户现有 系统环境,降低用户成本。

降低网络带宽要求:Realsync 采用 TCP/IP 等网络传输数据,降低网络带宽要求

和成本。

5 RealSync 应用

5.1 RealSync 复制策略

RealSync 可以被灵活配置,以支持各种复制策略,如表 1 所示。

表 1 RealSync 复制策略

单向复制: 从一个数据库向另一个

数据库复制。

双向复制: 两个数据库进

行互相复制。

广播复制: 由一个数据库向多个数

据库复制。

Page 21: RealSync - dsgdata.comb2%fa%c6%b7%b0%d7%c6... · 3.6 OPS/RAC 的支持 ... DSG RealSync 设计用于为 ORALCE 数据库数据进行数据复制。该系统通过安装在源

20 迪思杰集团版权所有

RealSync 应用 RealSync 数据库异构复制热

容灾解决方案

集中复制: 由多个数据库向一个数

据库复制。

级联复制:

由 A 数据库向 B 数据库复制,同时又由 B 数据库

向 C 数据库进行复制。

5.2 RealSync 产品规格

RealSync 的产品规格如表 2 所示。

表 2 RealSync 产品规格

特性 描述

工作方式: Transaction-Based 数据复制

目标系统支持的操作: 目标系统支持 Read-Write 操作

支持数据库版本: Oracle 8.0.6 ~ Oracle 11g 版本

支持数据类型: 支持 Oracle 7 Data Type

支持复制操作类型: DML 语句

可选择性复制: 选择整库、user、表为复制单位

支持的硬件平台: Sun,、HP、IBM、x86

支持的操作系统: Solaris、 AIX、HP-UX、Linux、Windows NT/2000

支持的存储系统: EMC、IBM、HDS、HP、SUN 以及其它通用的 SCSI/FC

存储系统

支持多种复制结构: 一对一、双向、一对多、多对一

复制时间间隔: 可灵活设置

最大距离: 没有限制

5.3 RealSync 应用模型

Page 22: RealSync - dsgdata.comb2%fa%c6%b7%b0%d7%c6... · 3.6 OPS/RAC 的支持 ... DSG RealSync 设计用于为 ORALCE 数据库数据进行数据复制。该系统通过安装在源

21 迪思杰集团版权所有

RealSync 应用 RealSync 数据库异构复制热

容灾解决方案

RealSync 提供功能强大的数据复制容灾功能,在企业中可应用于多个方面:

应用分离:提高系统应用效率,降低资源争用和消耗。如将 OLTP 应用与报表应用

分离;分离随机查询应用,提高 OLTP 应用的服务水平,提高系统相应速度,避免

大量的 ad hoc 查询对资源的争用。

数据分发:提供远程用户的数据访问,将本地数据发送给远程用户。

数据集中:将分散系统的数据集中到企业统一数据平台上。

应用集成:通过 Enhanced ETL 实现企业系统之间的数据流通和共享,打破企业信

息孤岛,实现系统的信息互通。

数据仓库:将源系统上的数据复制到一个系统上,用于统计分析、数据挖掘和历史 数据管理等应用。

容灾:通过实时复制功能将生产系统上的数据复制到目标系统上,当生产系统出现

灾难时,可通过容灾系统上的数据进行业务接管和数据恢复。

数据迁移:将源数据库数据迁移到相同操作系统或不同操作系统的目标数据库中,

实现同平台或跨平台数据库迁移。

测试:将生产系统数据同步到测试平台中,用户可以在测试平台中进行数据测试,

不影响生产系统正常运行。

5.3.1 应用分离模型

RealSync 通过安装在生产系统中的代理程序 Agent,将生产系统中的数据实时复制到 目标数据库中。用户可以将数据查询、报表等应用从主生产系统中分离出来,仅在目标 系统中进行操作,如图 12 所示。应用分离可以提高系统应用效率,降低资源争用和消 耗。

图 12 应用分离模型

Agent Agent

Page 23: RealSync - dsgdata.comb2%fa%c6%b7%b0%d7%c6... · 3.6 OPS/RAC 的支持 ... DSG RealSync 设计用于为 ORALCE 数据库数据进行数据复制。该系统通过安装在源

RealSync 应用 RealSync 数据库异构复制热

容灾解决方案

20 迪思杰集团版权所有

5.3.2 数据分发模型

RealSync 通过部署在生产系统中的代理程序 Agent,将源数据库中的数据根据用户的 设置分别复

制存储到相应的目标数据库中。通过网络,远程用户仅对存放着需要查询的 数据的目标数据库进行访问,如图 13 所示。数据分发可以减少主生产系统压力,同时 提高用户的数据查询效率。

图 13 数据分发模型

5.3.3 数据集中模型

RealSync 通过安装在生产系统中的代理程序 Agent 将分散在多个数据库中的数据复制 到一个目标数据库中进行数据集中管理,如图 14 所示。

图 14 数据集中模型

Agent

Agent

Agent

Agent

Page 24: RealSync - dsgdata.comb2%fa%c6%b7%b0%d7%c6... · 3.6 OPS/RAC 的支持 ... DSG RealSync 设计用于为 ORALCE 数据库数据进行数据复制。该系统通过安装在源

RealSync 应用 RealSync 数据库异构复制热

容灾解决方案

21 迪思杰集团版权所有

5.3.4 应用集成模型

通过部署在生产系统端的 Enhanced ETL 的代理程序 Agent,将多个生产数据库中的数 据复制到一个目标系统中。在复制的过程中,Agent 为每个生产数据库数据增加相应信 息,用户在访问目标数据库时,可根据增加的信息快速获取到需要的数据,如图 15 所 示。应用集成实现企业系统之间的数据流通和共享,打破企业信息孤岛,实现系统的信 息互通。

图 15 应用集成模型

Agent

Agent

Agent

Agent

Page 25: RealSync - dsgdata.comb2%fa%c6%b7%b0%d7%c6... · 3.6 OPS/RAC 的支持 ... DSG RealSync 设计用于为 ORALCE 数据库数据进行数据复制。该系统通过安装在源

RealSync 应用 RealSync 数据库异构复制热

容灾解决方案

22 迪思杰集团版权所有

5.3.5 数据仓库模型

RealSync 同时提供数据仓库模型,将源系统上的数据复制到目标系统上,目标系统中 的数据将用

于统计分析、数据挖掘和历史数据管理等应用,如图 16 所示。

图 16 数据仓库模型

Agent

Agent

Agent

Agent

Page 26: RealSync - dsgdata.comb2%fa%c6%b7%b0%d7%c6... · 3.6 OPS/RAC 的支持 ... DSG RealSync 设计用于为 ORALCE 数据库数据进行数据复制。该系统通过安装在源

RealSync 应用 RealSync 数据库异构复制热

容灾解决方案

23 迪思杰集团版权所有

5.3.6 容灾模型

RealSycn 提供单向复制容灾模型和双活复制容灾模型。

单向复制容灾模型

RealSync 通过安装在源数据库系统上的代理程序 Agent 实时监控生产系统的交易

变化,并将变化的交易分析出来,再根据预先设置的规则将最新信息发布到容灾系

统上。当生产系统发生故障时,容灾系统可以及时进行切换接管生产业务。

图 17 单向复制容灾模型

双活复制容灾模型

单向复制容灾模型仅提供生产端到容灾端的复制。当生产系统故障排除后,会因为

无法同步容灾系统的变化数据,而不能重新接管业务。为了解决这个问题,RealSync

提供双活复制容灾模型,如图 18 所示。

图 18 双活复制容灾模型

Page 27: RealSync - dsgdata.comb2%fa%c6%b7%b0%d7%c6... · 3.6 OPS/RAC 的支持 ... DSG RealSync 设计用于为 ORALCE 数据库数据进行数据复制。该系统通过安装在源

RealSync 应用 RealSync 数据库异构复制热

容灾解决方案

24 迪思杰集团版权所有

RealSync 在生产系统和容灾系统中均安装代理程序 Agent。安装在生产系统中的 代理程序 Agent 实时监控生产系统的交易变化,并将变化的交易分析出来并同步到 容灾系统中。当生产系统发生故障时容灾端接管业务运行,同时容灾系统中的代理 程序 Agent 监控容灾系统的交易变化。当生产系统故障排除后,容灾端的代理程序 Agent 将变化的交易发送给生产系统,由生产系统重新接管业务运行。

5.3.7 数据库迁移模型

Page 28: RealSync - dsgdata.comb2%fa%c6%b7%b0%d7%c6... · 3.6 OPS/RAC 的支持 ... DSG RealSync 设计用于为 ORALCE 数据库数据进行数据复制。该系统通过安装在源

RealSync 应用 RealSync 数据库异构复制热

容灾解决方案

25 迪思杰集团版权所有

RealSync 提供数据库同平台或跨平台数据迁移,当用户升级数据库或系统时,以避免 数据丢失。数据库迁移模型如图 19 所示。

图 19 数据库迁移模型

RealSync 数据库迁移分五个步骤完成:

1. 环境初始化阶段:按照旧系统配置初始化新系统。

2. 软件调试阶段:安装 RealSync 软件,进行软件调试和优化配置。

3. 数据初始化阶段:调试好环境和软件后,对所有数据进行首次同步。

4. 预割接测试阶段:完成所有数据的同步后,对迁移到容灾系统的数据进行检验和业 务测试。

5. 正式割接阶段:停止旧系统业务,完成数据复制后,对新旧系统进行数据校验;变 更新旧系统主机 IP 地址,测试客户端链接,完成数据迁移;对系统进行测试验证 直到运行正常。

5.3.8 测试模型

Realsync 复制数据到测试服务器上,当源服务器工作正常时,用户可以在测试服务器 上对程序、数据安全、网络连接等进行测试。测试服务器实时同步生产系统数据并对测 试后产生的数据进行自动清除,保证下一次测试正常进行。测试模型如图 20 所示。

图 20 测试模型

Page 29: RealSync - dsgdata.comb2%fa%c6%b7%b0%d7%c6... · 3.6 OPS/RAC 的支持 ... DSG RealSync 设计用于为 ORALCE 数据库数据进行数据复制。该系统通过安装在源

26 迪思杰集团版权所有

总结 RealSync 数据库异构复制热

容灾解决方案

6 总结

由此可见,RealSync 提供了更加专业、有效的复制容灾解决方案。RealSync 通过多种 复制方式及按需复制、生产系统和容灾系统的环境异构、首次全同步、数据一致性检查、 故障的监视和诊断、容灾切换等功能,为企业实现了高效可靠的数据备份和容灾。

同时,RealSync 可以被使用在企业的应用分离、数据分发、数据集中、应用集成、数 据仓库、数据库容灾、数据迁移和测试等多个应用中,方便企业根据需要灵活搭建容灾 备份系统。