MDB 通道功能
在 MDB 系统中,通道是一个逻辑单元,通过一系列操作连接源节点和目标节点。
数据复制、调度、错误处理、性能调整和其他操作都发生在通道中。
MDB 将通道内的数据从源节点同步到目标节点。
目前一个通道中仅支持一个源节点和一个目标节点,即实现一对一的数据同步复制。
通道列表
通道列表展示,支持通道名、节点名模糊查询,通道状态查询
新增通道
新增数据同步通道,选择数据从Oracle同步到MogDB。新增通道不能选择两个相同类型的节点
删除通道
通道状态不在执行中,删除按钮高亮,可以直接删除。 如果状态处于执行中,不允许删除,需要停止通道中执行的任务,再进行删除操作。
通道启动和暂停
支持启动和暂停
通道详情
展示通道名,状态,同步对象数,同步表数,节点名称,抽取状态,投递状态
通道-配置
支持修改通道名称。
通道-对象
新增对象
从源节点选择需要同步到目标节点的对象,如果配置映射规则,会经过规则转换。目标对象名大小写会默认转为目标节点对应的规范。
删除对象
选择删除已添加的同步对象。
高级导入
输入对象名或使用文件导入对象。
手动导入
输入源节点对象名(格式: schema.table) 添加同步到目标节点的对象。
文件导入
根据类型选择下载模版,然后按照模版格式填写schemaName、objectType、objectName,填写完成后,导入对象时选择已填写的模版。
- schemaName: 源schema名
- objectType: TABLE、 SEQUENCE、 SYNONYM、 VIEW、 TRIGGER、 PROCEDURE、 FUNCTION、 PACKAGE
- objectName: 源对象名
导入结果
查看导入对象结果,点击失败对象数查看失败原因
是否跳过结构
选择是否同步对象的结构
是否跳过全量
选择是否同步对象的全量数据
是否跳过增量
选择是否同步对象的增量数据
启动
对单个对象执行一键同步
重置
对单个对象执行复位操作
详情
- 查看对象结构同步结果
- 查看表数据同步结果
- 查看序列数据同步
查看映射
展示源端和目标端字段映射信息,仅对象类型为TABLE,可以查看。
字段映射配置
可以修改目标库schema、表名、字段名。保存后需要重新执行预检查,对象同步,数据同步。
数据分片
支持自动分片和自定义分片
映射规则
Schema映射配置
- 可配置多条映射规则,映射规则则会按表格中列出的顺序依次执行,
- 保存后立即生效, 需要重新执行对象同步、数据同步
对象映射配置
- 字符替换: 从源库对象名中搜索包含指定字符串的对象,将指定的字符串替换为目标库中的替换字符串。
- 正则替换: 将正则规则应用到所有源库对象名上,如果匹配上源库正则表达式,则替换为目标库中的替换字符串。
- 可配置多条对象映射规则,映射规则则会按表格中列出的顺序依次执行。
- 保存后立即生效, 需要重新执行对象同步、数据同步
通道-高级参数
在MDB中,高级参数控制着通道同步过程中的逻辑,例如skipSnapShot 是否跳过快照,只同步增量数据,overrideMode 是否覆盖目标节点已存在的对象结构等。
参数名称 | 默认 | 描述 |
---|---|---|
compatibleModel | ON | 迁移兼容模式: ON-兼容,OFF-不兼容 |
overrideMode | NONE | 覆盖模式:NONE_FORCE-不覆盖,NONE-默认,FORCE-覆盖 注:选择FORCE会先删除目标节点table等,不会删除schema |
tableSpaceSwitch | OFF | 是否忽略表空间: ON-不忽略,OFF-忽略 |
skipSnapShot | ON | 是否跳过全量数据:ON-是,OFF-否 |
heartbeatIntervalMs | 0 | 心跳间隔时间(s):0-不开启 正整数-开启 |
heartbeatTableName | heartbeat | 心跳表:在源节点创建心跳表的表名 |
skipMigrationObject | OFF | 是否跳过对象同步 |
postgresqlPluginName | decoderbufs | PostgreSQL插件:decoderbufs, wal2json |
topicName | 发送topic: kafka/datahub目标节点发送的topic | |
migrationSchema | ON | 是否迁移schema |
migrationIndexConstraint | ON | 是否迁移index、constraint |
skipSpecialTypeTable | ON | 是否跳过特殊类型表对象同步 |
logMiningStartScn | log.mining.start.scn | |
logMiningBatchSizeMin | 1000 | log.mining.batch.size.min |
logMiningBatchSizeMax | 100000 | log.mining.batch.size.max |
logMiningBatchSizeDefault | 20000 | log.mining.batch.size.default |
logMiningViewFetchSize | 10000 | log.mining.view.fetch.size |
logMiningArchiveLogHours | 0 | log.mining.archive.log.hours |
logMiningTransactionRetentionHours | 0 | log.mining.transaction.retention.hours |
skipDebeziumSchema | ON | 是否精简缩迁移数据 |
refreshSourceBeforeDataSync | ON | 是否数据同步前刷新MDB资料库(只执行1次刷新,如需再次刷新,请手动打开) |
decodingPluginName | wal2json | MogDB并行解析功能插件 |
continueWithError | OFF | 是否投递服务出现异常后继续投递 |
lobEnabled | ON | 是否同步BLOB、CLOB数据列 |
sequenceUpdateInterval | 1440 | 普通序列更新间隔时间(分钟) |
autoIncUpdateInterval | 1440 | 自增序列更新间隔时间(分钟) |
virtualColumnEnabled | ON | 是否同步虚拟数据列 |
enableTargetMerge | ON | 是否开启投递数据合并 |
targetMergeRows | 1000 | 控制数据合并最多条数 |
targetMergeInterval | 3 | 控制数据合并最大时间间隔(s) |
restrictMode | OFF | 严格模式(仅对源端无主键表有效) |
migrationStage | 结构同步,全量迁移,增量同步 | 控制迁移阶段 |
targetObjectCharset | utf8mb4 | 目标对象指定字符集 |
minKeySplitSize | 10240 | 最小Key分片阈值大小(M),超过此大小限制的表会考虑采用自动Key(逻辑主键)分片算法 |
numericDefaultScale | 10 | DECIMAL默认的scale值(默认为10) |
autoConvertDataType | OFF | 自动转换合理的数据类型 |
autoResolveColMismatch | OFF | 自动解决源端与目标端的字段不一致 |
enableBit1toBool | OFF | 控制 MySQL bit(1)迁移为 MogDB bool 类型 |
enableBlob2Blob | false | BLOB映射为BLOB数据类型开关 |
通道-性能监控
通道-同步日志
数据同步操作后,数据抽取和投递的过程日志,支持下载
通道-任务汇总
通道中,展示同步进度,各阶段执行时间,结果。
同步任务
-
执行一键同步 或 依次执行预检查、结构同步、数据同步
-
结构同步复位: 复位结构同步操作,将删除通道内所有表的结构同步进度和记录
-
同步暂停: 暂停数据同步,停止数据抽取和投递服务
-
同步启动: 恢复数据同步,恢复数据抽取和投递服务
-
数据同步复位: 复位数据同步操作,将删除通道内所有表的数据同步进度和记录
-
暂停抽取: 暂停数据抽取服务
-
暂停投递: 暂停数据投递服务
-
启动抽取: 恢复数据抽取服务
-
启动投递: 恢复数据投递服务
数据校验任务
-
数据同步后,启动数据校验进行数据验证
-
数据校验详情,查看数据校验结果
任务失败查看
-
查看预检查异常详情
输入命令自动修复或下载修复脚本手动执行
-
查看同步对象异常详情
目标端SQL 支持编辑、格式化、复制,编辑保存后重新执行,执行成功后异常移除列表。
-
查看数据同步异常
点击数据详情列表异常,展示失败数据详情,支持丢弃和重试。