一、同步前准备
1、源端MySQL信息检查及创建同步用户并授权
- 支持MYSQL 5.5以上版本
- 支持row binlog模式
1.1 检查/修改数据库参数配置
- 检查是否开启log_bin
show variables like 'log_bin%';
# 需要设置为ON
show variables like 'binlog_format%';
# 需要设置为row模式
- 修改my.cnf或者my.ini参数文件
server-id=123456789 #设置成唯一值,5.7及以后的版本需要添加此参数
log-bin=my-bin
log-slave-updates=1 #如果数据库为slave端需配置此参数,master端不需要配置
binlog_format=row
1.2 创建同步用户并授权
- 创建用户
create user zcbus@'%' identified by 'zcbus';
- 用户赋权赋权限
grant select,replication client, replication slave on *.* to 'zcbus'@'%';
注:可仅授权其中需要同步数据的库。
- 权限查询
show grants for zcbus;
注:mysql如果设置了binlog-do_db和binlog-ignore-db,可能会导致增量不分析:
binlog-do_db=test
binlog-ignore-db=mysql
需要修改/etc/my.cnf参数文件,添加上需要发布的库后,需要重启MySQL:
binlog-do_db=dt
binlog-do_db=dt2
2、目标端Oracle建目标端同步用户并授权
- 创建数据库用户
create user zcbus_user identified by zcbus_passwd;
- 数据库用户授权
grant drop any table,create any table,alter any table,create any index,drop any index,select any table,select any dictionary,resource,create session to zcbus_user;
grant UPDATE ANY TABLE,INSERT ANY TABLE ,DELETE ANY TABLE TO ZCBUS_USER;
注:12C的CDB模式zcbus_user要以c##开头
二、WEB界面配置同步通道
- 配置流程
添加源端发布节点-->创建客户端-->编辑策略(将编辑后的同步策略分配给对应客户端)-->开启数据订阅
注:一个源端发布节点可以对应多个策略,同理一个策略中也可以存在不同发布节点的同步表,即每条发布链路可以有多个源端,但目标端数据库有且仅有一个。
1、添加源端发布节点
- 发布界面上新增发布节点,填写发布节点名称,选择对应的数据库类型
- 节点新增成功后,进行源端数据库信息与同步表配置
- 源端数据库基础信息配置,点击测试连接出现并连接成功提示后点击提交,进行选择发布数据表
- 发布表有选表/批量导入/SQL导入三种模式,可根据界面上提示说明进行操作
注:选表模式下,需勾选中要发布的表,添加进已选项中,进行提交
- 发布操作:勾选需要发布的表后点击允许发布,确定后即开始发布
- 发布完成后,可查看全量数据状态
- 也可再监控中,查看表的发布状态
2、添加订阅客户端
- 再客户端管理界面,添加订阅客户端
- 添加完成后,查看订阅客户端状态
- 点击进入订阅界面,下拉选项选定刚刚创建的订阅客户端,点击数据库管理,进行目标端数据库配置
- 新增目标端数据库配置
- 添加完成后点击测试连接,提示连接成功后即完成目标端数据库配置
3、策略定义/分配
- 新增策略定义
- 将刚才创建的策略定义分配给对应的订阅客户端
- 在策略定义界面,给策略添加同步表
- 勾选需要添加的同步表后,进行提交
4、开启数据订阅
- 分配完策略的对应客户端下会有订阅链路信息,进行目标库配置
- 选择目标端数据库类型,确认数据库信息为目标端数据库信息
- 点击下拉框,可看到订阅队列详细信息
- 点击数据表后,勾选订阅表,进行配置
注:Oracle为目标端时,用户名/表名大写
- 修改完用户名/表名后,进行开启全量订阅操作
- 开启全量订阅后,返回订阅界面开启订阅
- 全量订阅成功后,程序会自动运行增量
- 监控中可以看到增量/全量/异常信息
三、同步数据比对验证
- 再订阅界面上,可对同步数据进行比对
- 根据需求选择不同的比对方式,添加不同的比对条件
- 提交配置后查看比对状态
- 再统计中查看比对结果