多对一实时同步
5.2 常见场景的同步任务配置
5.2.7 Oracle 数据库到 GaussDB(for openGauss)分布式版同步实 例例
本小节以Oracle->GaussDB(for openGauss)分布式版实时同步为示例,介绍如何使用 数据复制服务配置实时同步任务,Oracle->GaussDB(for openGauss)主备版实时同步 可参考本小节。
图5-41 同步任务信息
SMN主题 “任务异常通知设置”项开启后可见,需提前在SMN上申请主题并 添加订阅。
SMN主题申请和订阅可参考《消息通知服务用户指南》。
时延阈值 在增量同步阶段,源数据库和目标数据库之间的同步有时会存在一 个时间差,称为时延,单位为秒。
时延阈值设置是指时延超过一定的值后(时延阈值范围为1—
3600s),DRS可以发送告警通知。告警通知将在时延稳定超过设定 的阈值6min后发送,避免出现由于时延波动反复发送告警通知的情 况。
设置任务异常自动结束天数,输入值必须在14-100之间。
说明
异常状态下的任务仍然会计费,而长时间异常的任务无法续传和恢复。设置 任务异常自动结束天数后,异常且超时的任务将会自动结束,以免产生不必 要的费用。
描述 描述不能超过256位,且不能包含! = < > & ' " \ 特殊字符。
图5-42 同步实例信息
表5-34 同步实例信息
参数 描述
数据流动场景 选择“入云”。
源数据库引擎 选择“Oracle”。
目标数据库引擎 选择“GaussDB(for openGauss)分布式版”。
网络类型 此处以公网网络为示例。目前支持可选公网网络、VPC网络和 VPN、专线网络。
目标数据库实例 用户所创建的GaussDB(for openGauss)分布式版实例。
同步实例所在子 网
请选择同步实例所在的子网。也可以单击“查看子网”,跳转 至“网络控制台”查看实例所在子网帮助选择。
默认值为当前所选数据库实例所在子网,请选择有可用IP地址 的子网。为确保同步实例创建成功,仅显示已经开启DHCP的子 网。
图5-43 源库信息
表5-35 源库信息
参数 描述
IP地址或域名 源数据库的IP地址或域名。
说明对于RAC集群,建议使用scanip接入,提高访问性能。
端口 源数据库服务端口,可输入范围为1~65535间的整数。
数据库服务名 数据库服务名(Service Name/SID),客户端可以通过其连接 到Oracle,具体查询方法请参照界面提示。
PDB名称 PDB同步仅在Oracle12c及以后的版本支持,该功能为选填项,
当需要迁移PDB中的表时开启。
PDB功能开启后,只能迁移该PDB中的表,并且需要提供CDB的 service name/sid及用户名和密码,不需要PDB的用户名和密 码。
数据库用户名 源数据库的用户名。
数据库密码 源数据库的用户名所对应的密码。
SSL安全连接 通过该功能,用户可以选择是否开启对迁移链路的加密。如果 开启该功能,需要用户上传SSL CA根证书。
说明
● 最大支持上传500KB的证书文件。
● 如果不使用SSL证书,请自行承担数据安全风险。
图5-44 目标库信息
表5-36 目标库信息
参数 描述
数据库实例名称 默认为创建同步任务时选择的关系型数据库实例,不可进行修 改。
数据库用户名 目标数据库的用户名。
数据库密码 目标数据库的用户名所对应的密码。数据库用户名和密码将被系 统加密暂存,直至该任务删除后清除。
步骤4 在“设置同步”页面,选择同步对象,此处必须手动输入目标数据库名称,完成后单 击“下一步”。
图5-45 同步模式
表5-37 同步对象
参数 描述
同步对象 表级同步,库级同步,导入对象文件,您可以根据业务场景选择对应 的数据进行同步。
● 在同步对象右侧已选对象框中,可以使用对象名映射功能进行源数 据库和目标数据库中的同步对象映射,具体操作可参考对象名映 射。
● 选择导入对象文件,具体步骤和说明可参考导入同步对象。
步骤5 在“高级设置””页,可查看之前步骤2选择“全量”同步或“增量”同步的运行参 数,当前运行参数为默认值,暂时不支持修改,单击“下一步”。
图5-46 全量同步
表5-38 全量同步参数说明
参数名 功能描述 默认值
同步对象类型 可选同步表结构、同步数据、同步索引,根据实 际需求进行选择要同步内容。其中同步数据为必 选项。
三项全选。
流模式 该模式下,数据写入目标库是按分片进行提交,
一个分片提交一次。否则数据会按照写入目标库 数据量进行提交,每写入16M数据提交一次。
选中。
导出并发数 控制启动多少个线程从Oracle导出数据。 8
参数名 功能描述 默认值 导入并发数 控制启动多少个线程并发向GaussDB(for
openGauss)写入数据。 8 导入模式 ● COPY模式:
通过GaussDB(for openGauss)的copy接口写 入数据,效率较高。
● INSERT模式:
通过拼接insert语句的方式写入数据,效率相 对较低。但是该方式可以忽略主键冲突数 据。
copy模式。
分片记录数 对表进行分片导出,来提供实时同步的效率。
● 如果表分析不及时,即ALL_TABLES视图的 NUM_ROWS值为空,也不进行分片。
520000
同步位点 建议设置为当前的SCN,如果设置为将来的SCN 或者已删除归档日志所在的SCN范围,将会导致 任务失败。
默认是启动时的 SCN。
图5-47 增量同步
表5-39 增量同步参数说明
参数名 功能描述 默认值
日志抓取并发
数 读取Oracle日志的并发线程数,可配范围
1-16。 1
抓取启动位点 指定抓取启动的scn点,这个scn号要根据实 际的需求进行设计,它由两部分组成,分别 是抓取的起始scn号,和有效数据的scn号,
具体的解释需要参考Oracle的scn相关概 念。
空,抓取默认采用数 据库的当前scn作为 启动点。
回放任务并发
数 向GaussDB(for openGauss)写入数据的并 发线程数,可配范围1-64。 64 回放启动策略 ● 自动
启动任务后,回放组件会自动启动。
● 手动
启动任务后,回放组件不启动,需要手 动进行单独启动。
自动。
参数名 功能描述 默认值 冲突策略 ● 覆盖
当数据回放报错时,会用DRS抓取到的 数据覆盖掉目标库的数据。
● 报错
当数据回放报错时,会直接返回错误,
界面报同步异常。
● 忽略
当数据回放报错时,会跳过报错的记 录,继续运行。
覆盖。
回放启动位点 指定回放启动的scn点。 空,若不指定,默认 和抓取启动位点相 同。
步骤6 在“数据加工”页面,选择需要加工的列,进行列加工。
● 如果不需要数据加工,单击“下一步”。
● 如果需要加工列,参考数据加工中的列加工,设置相关规则。
图5-48 数据加工
步骤7 在“预检查”页面,进行同步任务预校验,校验是否可进行实时同步。
● 查看检查结果,如有不通过的检查项,需要修复不通过项后,单击“重新校验”
按钮重新进行任务预校验。
预检查不通过项处理建议请参见《数据复制服务用户指南》中的“预检查不通过
图5-49 预检查
GaussDB(for openGauss)分布式版不支持直接更新分布键,所以DRS同步时不支持该场景,否 则会导致数据丢失对比不一致。