【云小课】【第58课】如何通过DRS实现Oracle到DDM的数据同步
数据复制服务(DRS)是一种易用、稳定、高效、用于数据同步的云服务,本节小课为您介绍,如何通过DRS将Oracle的数据同步到DDM。
使用场景
DRS实时同步功能一般用于建立数据同步通道,解决数据共享问题,也可以用于数据流式集成,具有数据转换能力。本实践中的选择均为测试简化基本操作,仅做参考,实际情况请用户按业务场景选择,更多关于DRS的使用场景请单击这里了解。
部署架构
本示例中,DRS源数据库为本地自建Oracle数据库,目标端为华为云上的分布式数据库中间件DDM,通过公网网络,将源端的数据同步到目标端,部署架构可参考下图。
更多关于DRS的使用场景请单击这里了解。
源端Oracle准备
同步前需要在源库构造一些数据类型,供同步完成后验证数据。
执行如下步骤在源库构造数据:
1. 根据本地的Oracle数据库的IP地址,通过数据库连接工具连接数据库。
2. 根据支持的数据类型,在源库执行语句构造数据。
3. 创建一个测试用的用户。
create user test_info identified by xxx;
test_info为本次实践创建的用户,xxx为用户的密码,请根据实际情况替换。
4. 给用户赋权。
grant dba to test_info;
5. 在当前用户下创建一个数据表。
CREATE TABLE test_info.table3(
ID INT,
COL01 CHAR(100),
COL02 NCHAR(100),
PRIMARY KEY(ID)
);
6. 插入两行数据。
insert into test_info.table3 values(4,'huawei','xian');
insert into test_info.table3 values(2,'DRS-test','test1');
insert into test_info.table3 values(1,'huawei','xian');
7. 使语句生效。
commit;
目标端DDM准备
一、创建DDM实例
1. 登录华为云控制台。
2. 单击管理控制台左上角的图标,选择区域。
3. 单击左侧的服务列表图标,选择“数据库 > 分布式数据库中间件 DDM”,进入DDM管理控制台。
4. 在实例管理页面,单击页面右上方的“购买数据库中间件实例”。
5. 按需设置实例相关信息和规格。
6. 选择实例所属的VPC和安全组、配置数据库端口。
7. 实例信息设置完成后,单击页面下方“立即购买”。
8. 实例创建成功后,用户可以在“实例管理”页面对其进行查看和管理。
数据库端口默认为5066,实例创建成功后可修改。当实例运行状态为“运行中”时,表示实例创建完成。
二、创建RDS for MySQL实例
本章节介绍创建DDM下关联的RDS for MySQL实例,创建步骤如下。
1. 登录华为云控制台。
2. 单击管理控制台左上角的图标,选择区域。
3. 单击左侧的服务列表图标,选择“数据库 > 云数据库 RDS”。
4. 单击“购买数据库实例”。
5. 配置实例名称和实例基本信息。
6. 选择实例规格。
7. 选择实例所属的VPC和安全组、配置数据库端口。
注意:
RDS for MySQL实例的虚拟私有云(VPC)和子网必须和DDM实例保持一致。
8. 配置实例密码。
9. 单击“立即购买”。
10. 返回云数据库实例列表。
当RDS实例运行状态为“正常”时,表示实例创建完成。
三、创建逻辑库并关联RDS for MySQL实例
1. 登录华为云控制台。
2. 单击管理控制台左上角的图标,选择区域。
3. 单击左侧的服务列表图标,选择“数据库 > 分布式数据库中间件 DDM”,进入DDM管理控制台。
4. 在实例管理页面,单击实例对应操作栏的“创建逻辑库”。
5. 在创建逻辑库页面,选择“逻辑库模式”、“逻辑库总分片数”,填写“逻辑库名称”,并选择要关联的DDM帐号、要关联的实例,单击“下一步”。
本示例中逻辑库模式为单库,逻辑库名称为db_test。
注意:
DRS目前仅支持同步源端Oracle的数据到目标DDM,不支持同步源库表结构及其他数据库对象,用户需要在目标库根据源端数据库的表结构创建对应的逻辑库。
四、创建DDM账号
1. 登录华为云控制台。
2. 单击管理控制台左上角的图标,选择区域。
3. 单击左侧的服务列表图标,选择“数据库 > 分布式数据库中间件 DDM”,进入DDM管理控制台。
4. 在实例管理页面,单击实例实例名称,进入实例基本信息页面。
5. 在左侧导航栏选择“帐号管理”,进入帐号管理页面。
6. 在帐号管理页面单击“创建DDM帐号”,在弹窗中填选帐号信息、关联的逻辑库和权限。
DDM目标库账号所需要的权限可参考DRS使用须知中的数据库权限说明。
7. 信息填写完成,单击“确定”即可创建成功。
五、创建目标库表结构
DRS目前仅支持同步源端Oracle的数据到目标DDM,不支持同步源库表结构及其他数据库对象。用户需要在目标库根据源端逻辑库的表结构,自行在目标库创建对应的表结构及索引。更对约束限制可参考DRS使用须知。
1. 登录华为云控制台。
2. 单击管理控制台左上角的图标,选择区域。
3. 单击左侧的服务列表图标,选择“数据库 > 分布式数据库中间件 DDM”,进入DDM管理控制台。
4. 在弹出的对话框中输入创建DDM账号中的实例用户名和密码,单击“测试连接”检查。
5. 连接成功后单击“登录”,登录DDM实例。
6. 单击创建逻辑库并关联RDS for MySQL实例中创建的逻辑库db_test。
7. 在db_test库中执行如下语句,创建与源端结构一致的同名目标表table3。
CREATE TABLE `db_test`.`table3`(
ID INT,
COL01 CHAR(100),
COL02 NCHAR(100),
PRIMARY KEY(ID));
创建DRS同步任务
本章节介绍如何创建DRS同步任务,将本地自建Oracle上的数据库同步到华为云DDM。
在创建任务前,需要针对同步条件进行手工自检,以确保您的同步任务更加顺畅。
本示例为同步到DDM入云同步,您可以参考DRS使用须知获取相关信息。
1. 登录华为云控制台。
2. 单击管理控制台左上角的图标,选择区域。
3. 单击左侧的服务列表图标,选择“数据库 > 数据复制服务 DRS”。
4. 单击“创建同步任务”。
5. 填写同步任务参数:
a、配置同步任务名称。
b、填写同步任务信息并选择目标库。
这里的目标库选择创建DDM实例所创建的DDM实例。
6. 单击“开始创建”。同步实例创建中,大约需要5-10分钟。
7. 配置源库信息和目标库数据库密码。
c、配置源库信息,单击“测试连接”。当界面显示“测试成功”时表示连接成功。
d、配置目标库信息,单击“测试连接”。当界面显示“测试成功”时表示连接成功。
8. 单击“下一步”。
9. 在“设置同步”页面,选择同步对象。
- 流速模式:不限速。
- 同步对象:表级同步
在源库选择需要同步的数据库和表。本次实践中选择“test_info”中的“table3”表,设置同步到目标“db_test”中的“table3”中。
10. 单击“下一步”,在“预检查”页面,进行同步任务预校验,校验是否可进行同步。
- 查看检查结果,如有不通过的检查项,需要修复不通过项后,单击“重新校验”按钮重新进行同步任务预校验。
- 预检查完成后,且所有检查项结果均成功时,单击“下一步”.
11. 单击“提交任务”。
返回DRS实时同步管理,查看任务状态。
启动中状态一般需要几分钟,请耐心等待。
当状态变更为“全量中”,表示同步任务已经启动。
说明:
- 目前Oracle到DDM同步支持全量、全量+增量两种模式。
- 如果创建的任务为全量同步,任务启动后先进行全量数据同步,数据同步完成后任务自动结束。
- 如果创建的任务为全量+增量同步,任务启动后先进入全量同步,全量数据同步完成后进入增量同步状态。
- 增量同步会持续性同步增量数据,不会自动结束。
确认同步执行结果
确认同步结果可参考如下两种方式:
1. DRS会针对同步对象、数据等维度进行对比,从而给出同步结果,详情参见在DRS管理控制台查看同步结果。
2. 直接登录数据库查看库、表、数据是否同步完成。手工确认数据同步情况,详情参见在DDM管理控制台查看同步结果。
在DRS管理控制台查看同步结果
1. 登录华为云控制台。
2. 单击管理控制台左上角的图标,选择区域。
3. 单击左侧的服务列表图标,选择“数据库 > 数据复制服务 DRS”。
4. 单击DRS实例名称。
5. 单击“同步对比”。
6. 选择“对象级对比”页签,查看对象是否缺失。
单击“开始对比”,对比完成后,查看对比结果。
7. 选择“数据级对比”页签,查看同步对象行数是否一致。
a、单击“创建对比任务”。
b、在弹出的对话框中选择对比类型、时间和对象。
c、等待对比任务结束后,查看数据对比结果。
d、如需查看对比明细,可单击对比任务后的“查看对比报表”。
在DDM管理控制台查看同步结果
1. 登录华为云控制台。
2. 单击管理控制台左上角的图标,选择区域。
3. 单击左侧的服务列表图标,选择“数据库 > 分布式数据库中间件 DDM”。
4. 选择DDM实例,单击同步的目标实例的操作列的“登录”。
5. 在弹出的对话框中输入密码,单击“测试连接”检查。
6. 连接成功后单击“登录”。
7. 查看并确认目标库名和表名等,确认相关数据是否同步完成。
- 点赞
- 收藏
- 关注作者
评论(0)