首批通过分布式安全可靠测评,为关键业务系统打造
配置迁移对象的匹配规则
更新时间:2026-04-14 15:40:37
本文为您介绍迁移对象匹配规则的背景信息、使用限制、配置方式,以及场景示例和常见问题。
背景信息
您在创建数据迁移项目时,需要指定具体的迁移对象。OMS 社区版提供指定对象、导入对象和匹配规则三种方式供您选择。其中匹配规则方式支持您通过编写通配规则指定需要迁移的对象,并且支持配置源端及目标端的对象映射逻辑,通过简单、高效的字符串匹配能力,可以有效地降低您在待迁移对象数量众多时的配置难度。同时,符合匹配规则的新增表可以通过增量 DDL 的方式自动同步至目标端。增量 DDL 的详情请参见 同步 DDL 的支持范围和使用限制。
使用限制
OMS 社区版允许输入多条规则,但需要注意每条规则不能跨行且前后不允许有空格。
迁移对象规则不允许为空,排除对象规则允许为空。
Schema 和数据库名称不支持通配选择,即不支持输入
Schema.*或DataBase.*。OMS 社区版不支持在结构迁移、全量迁移期间进行 DDL 变更。
通过匹配规则的方式选择迁移对象时,OMS 社区版不支持表名包含特殊字符(包括换行、空格,以及 .|"'`()=;/&*?[][!])。
注意事项
当您完成配置迁移对象规则和排除对象规则后,如果源端表名在迁移对象规则和排除对象规则的差集内,则相关对象可以被选择。
说明
差集是指对于给定的两个集合,返回一个包含所有存在于第一个集合但不存在于第二个集合的元素的新集合。
开启同步 DDL 功能后,当您使用 DDL 语句在源端创建一张新表或者修改一张表结构时,如果对应的表名在迁移对象规则和排除对象规则的差集内,则该 DDL 语句可以被 OMS 社区版同步至目标端。
库表汇聚场景下:
建议您使用导入对象或匹配规则的方式映射源端和目标端的关系。
建议您自行在目标端创建表结构。如果使用 OMS 社区版创建,请在结构迁移步骤跳过部分失败对象。
执行 RENAME TABLE 的 DDL 语句时,如果 RENAME 后的表对象不在原匹配规则或排除规则内,可能导致非预期同步问题,请谨慎操作。
配置匹配规则
新建数据迁移项目,并配置至 选择迁移对象 步骤。
详情请参见 数据迁移 模块相应类型的创建数据迁移项目文档。
在 选择对象 页面,选择迁移对象和迁移范围。
您可以通过 指定对象 和 匹配规则 两个入口选择迁移对象,本文仅为您介绍如何配置匹配规则。
勾选 匹配规则。
在 选择迁移范围 区域,输入 迁移对象规则 和 排除对象规则(可选)。支持的匹配规则详情请参见 通配符规则说明。
单击 校验。
如果您需要查看匹配结果,请在校验成功后单击 预览对象 进行查看。您填写的通配迁移对象规则和排除对象规则,会同时应用于表和视图。匹配结果 包括最终对象、新增对象和减少对象。
对象 描述 最终对象 配置的匹配规则最终匹配的迁移对象。 新增对象 最终匹配结果和前一次配置的匹配结果相比,新增的迁移对象。 减少对象 最终匹配结果和前一次配置的匹配结果相比,减少的迁移对象。
根据提示完成后续的项目配置。
场景示例
本小节以生产环境存在四个库:jenkins_api_mysql56、jenkins_api_mysql57、jenkins_my2dh_one 和 jenkins_my2dh_one_verify 为例,为您介绍不同场景下匹配规则的配置。
整库同步
四个库均需要迁移至目标端,匹配规则的配置如下。

排除历史表和日志表
无需同步数据库 jenkins_api_mysql56 的历史表和日志表,且历史表以 "history_" 开头,日志表以 log 结尾。匹配规则的配置如下。

设置源端和目标端的映射关系
数据库 jenkins_my2dh_one_verify 需要同步至目标端为 target_test 数据库中的表 one,匹配规则的配置如下。

多表汇聚场景
数据库 jenkins_api_mysql56 和 jenkins_api_mysql57 中存在订单表分表 order00 ~ order99,用户希望合入至目标端数据库 jenkins_api_mysql59 中的表 order。匹配规则的配置如下。

常见问题
权限不足
请注意源端用户的权限设置问题。如果您授予用户的权限不足,部分对象未被 OMS 社区版从前端展示出来,会导致您不能正确配置匹配规则。因此您需要将未授予权限的对象加入 排除对象规则,以避免 OMS 社区版因无法找到目标端对象而造成数据迁移项目中断。
不支持过滤 DML
在未开启同步 DDL 的情况下,OMS 社区版允许使用匹配规则的方式选择对象。在增量同步的过程中,如果新建表满足匹配规则,相关的 DDL 语句会被忽略,但 OMS 社区版会继续同步 DML 语句,这样会造成无法写入目标端对象而造成数据迁移项目中断,因此您需要在目标端新建表或者将表加入到组件的黑名单。