首批通过分布式安全可靠测评,为关键业务系统打造
创建任务
更新时间:2026-04-14 15:36:02
本文为您介绍 OceanBase 迁移服务(OceanBase Migration Service,OMS)提供的 OpenAPI:创建任务 CreateProject。
功能说明
本接口用于创建数据迁移、数据同步或数据校验任务。
调用说明
接口约束
本接口适用于 OMS V4.1.0 及之后版本。
请求路径
POST /api/v2?Action=CreateProject
请求参数
| 参数 | 类型 | 描述 |
|---|---|---|
| name | string | 任务的名称,不能包含空格。 |
| type | string | 任务的类型,包括 MIGRATION(表示数据迁移任务)、SYNC(表示数据同步任务)和 VERIFY(表示数据校验任务)。 |
| labelIds | array | 标签 ID 的集合,最多支持 5 个。 |
| sourceEndpointId | string | 源端数据源的 ID。您需要调用 ListDataSource 接口获取 ID,格式为 e_****。 |
| sinkEndpointId | string | 目标端数据源的 ID。您需要调用 ListDataSource 接口获取 ID,格式为 e_****。 |
| transferMapping | object | 传输对象的映射信息。 |
| ├─ mode | string | 传输对象映射模式,包括 SPECIFIC(表示指定对象)、WILDCARD(表示匹配规则)和 COMPLEX(表示既有匹配规则又有精确对象)。 |
| ├─ databases | object [] | 数据库对象列表。具体包含的信息请参见《databases/databasesBlack 数据结构》。 |
| ├─ databasesBlack | object [] | 匹配规则模式:数据库对象黑名单列表。具体包含的信息请参见《databases/databasesBlack 数据结构》。 |
| ├─ tableAndViewWhiteList | array | 匹配规则模式:表和视图的通配白名单列表。 |
| ├─ tableAndViewBlackList | array | 匹配规则模式:表和视图的通配黑名单列表。 |
| commonTransferConfig | object | 通用的传输配置。 |
| ├─ tableCategory | string | 支持的表类型。包括 ALL(所有表)、WITH_UNIQUE_ROW_ID(有唯一行标识的表)和 WITHOUT_UNIQUE_ROW_ID(无唯一行标识的表),默认值为 ALL。 |
| ├─ activeActive | boolean | 是否为容灾双活场景(OMS V4.3.1 已废弃)。 |
| ├─ mqSerializerType | string | 投递至消息队列时,数据 JSON 序列化类型。包括 DEFAULT、CANAL、DATAWORKS_V2、SHAREPLEX、DEFAULT_WITH_SCHEMA、 DEBEZIUM、DEBEZIUMFLATTEN 和 DEBEZIUMSMT。 |
| ├─ mqPartitionMode | string | 投递至消息队列时,分区路由方式。包括 ONE(指定分区投递)、HASH(根据主键/分片列值进行 HASH 分区投递、TABLE(根据库表名进行 HASH 分区投递)。 |
| ├─ mqPartition | integer | 当 partitionMode 为 ONE 时,该参数表示投递的分区在当前 topic 下的位置。 |
| ├─ datahubTopicType | string | 投递至消息队列 DataHub 时,指定 Topic 的类型。类型包括 TUPLE 和 BLOB。 |
| ├─ rocketMqProducerGroup | string | 指定生产组名(目标端为 RocketMQ 时生效),默认值为 OMS。 |
| ├─ rocketMqMsgTags | string | 设置消息 tag(目标端为 RocketMQ 时生效)。默认 default->default_tag,即值为 default 时,会默认添加一个 _tag 的后缀。 |
| ├─ rocketMqEnableMsgTrace | boolean | 是否开启消息追踪,仅目标端为 RocketMQ 时生效。 |
| ├─ rocketMqSendMsgTimeout | long | 设置消息投递超时时间,仅目标端为 RocketMQ 时生效。 |
| ├─ dataWorksBusinessName | string | 业务系统标识。用于标识数据的业务系统来源,以便您后续进行自定义处理。仅选择序列化方式为 DataWorks 时支持设置该参数,长度限制为 1~20 个字符。 |
| ├─ sinkStoreFormat | string | 目标端表对象存储类型,包括 默认、行存、列存 和 行列混存。 当目标端 OceanBase 数据库为 V4.3.0 及之后版本,并且迁移类型选择 结构迁移 或 增量同步 > DDL 同步 时生效。 |
| ├─ sourceStoreFormat | string | 源端表对象存储类型,包括 默认、行存、列存 和 行列混存。 当源端 OceanBase 数据库为 V4.3.0 及之后版本,并且迁移类型选择 反向增量 > DDL 同步 时生效。 |
| ├─ enableHiddenColumnsAndIndex | boolean | 无非空唯一键表是否增加隐藏列、隐藏索引,适用于以下 5 种类型的数据迁移任务:Oracle -> OB_MySQL、Oracle -> OB_Oracle、OB_MySQL -> OB_MySQL、OB_Oracle -> OB_Oracle 和 OB_Oracle -> Oracle。 |
| ├─ interactiveMode | boolean | 是否手动通过接口推进任务的运行。 |
| enableStructTransfer | boolean | 是否允许结构迁移。 |
| structTransferConfig | object | 结构迁移的配置。 |
| ├─ byteCharConvertStrategy | string | byte/char 转换方案,包括 IGNORE_BYTE_IF_BYTE_USED、FORCE_CHAR_IF_BYTE_USED、EXPAND_LEN_IF_BYTE_USED 和 DO_NOTHING_IF_BYTE_USED(默认值)。 |
| ├─ deferIndexCreation | boolean | 是否允许索引后置,默认值为不允许。该参数在 OMS V4.3.0 及之后版本废弃,建议您使用 indexMigrationType 参数。 |
| ├─ indexMigrationType | string | 普通索引迁移方式,可选值包括 NOT_MIGRATION(不迁移)、WITH_STRUCT_TRANSFER(随结构迁移)和 AFTER_FULL_TRANSFER(全量后迁移)。如果只有结构迁移步骤,则不允许配置为全量后迁移。 |
| ├─ autoProcessedToNextStep | boolean | 结构迁移完成后是否自动进入下一个步骤,默认值为 true。 |
| ├─ triggerMigrationType | string | 触发器迁移方式,可选值包括 NOT_MIGRATION(不迁移)、WITH_STRUCT_TRANSFER(随结构迁移)和 WITH_TRANSFER_APP_SWITCH(正向切换阶段迁移)。除 Oracle 数据库至 OceanBase 数据库 Oracle 兼容模式外的其他类型数据迁移任务不支持配置该参数。同时,如果 Oracle 数据库至 OceanBase 数据库 Oracle 兼容模式的数据迁移任务未选择正向切换,则不允许配置为正向切换阶段迁移。 |
| enableFullTransfer | boolean | 是否启用全量传输。 |
| enableFullVerify | boolean | 是否启用全量校验。 |
| enableCountVerify | boolean | 是否启用行数校验。 |
| enableIncrVerify | boolean | 是否启用增量校验。 |
| fullTransferConfig | object | 全量传输的配置。 |
| ├─ nonePkUkTruncateDstTable | boolean | 处理源端无唯一索引表的全量迁移时,是否清空目标表。 |
| ├─ allowDestTableNotEmpty | boolean | 目标端表对象存在记录时处理策略,包括 忽略 和 停止迁移。
|
| ├─ fullTransferSpeedMode | string | 全量迁移速度,包括 STEADY、NORMAL、FAST 和 CUSTOM。 |
| ├─ fullTransferSpeedConfig | string | 全量迁移速度配置,仅在 fullTransferSpeedMode 为 CUSTOM 时生效。 |
| ├─├─ memory | integer | 内存限制,单位为 GB。 |
| ├─├─ readerWorkerNum | integer | 读取并发数。 |
| ├─├─ writerWorkerNum | integer | 写入并发数。 |
| ├─ fullVerifySpeedMode | string | 全量校验速度,包括 STEADY、NORMAL、FAST 和 CUSTOM。 |
| ├─ fullVerifySpeedConfig | string | 全量校验速度配置,仅在 fullVerifySpeedMode 为 CUSTOM 时生效。 |
| ├─├─ memory | integer | 内存限制,单位为 GB。 |
| ├─├─ readerWorkerNum | integer | 读取并发数。 |
| ├─├─ writerWorkerNum | integer | 写入并发数。 |
| ├─ throttleRps | integer | 全量传输阶段限制能达到的最大传输速率,单位为记录数/秒。输入 null 时,表示不限制 RPS。 |
| ├─ throttleIOPS | integer | 全量传输阶段限制能达到的最大传输流量,单位为字节/秒。输入 null 时,表示不限制 IOPS。 |
| enableIncrTransfer | boolean | 是否启用增量同步。 |
| enableReverseIncrTransfer | boolean | 是否启用反向增量同步。 |
| incrTransferConfig | object | 增量同步的配置。 |
| ├─ startTimestamp | string | 增量同步起始位点。仅启用增量同步但未启用全量迁移时,支持设置该参数。 |
| ├─ recordTypeWhiteList | array | 有增量同步阶段时,同步的增量数据类型。包括 HEARTBEAT、INSERT、UPDATE、DELETE、BEGIN、COMMIT、ROLLBACK、DDL 和 ROW。 |
| ├─ storeLogKeptHour | integer | 有增量同步阶段且增量日志拉取组件为 Store 时,日志的保存时间。单位为小时,默认 7 天,最长支持 365 天。 |
| ├─ enableSequencingWithinTxn | boolean | 有增量同步阶段且增量日志拉取组件为 Store 时,是否开启事务内序号编排。 |
| ├─ enableIncrSyncStatistics | boolean | 是否开启增量记录(DML、DDL)统计。 |
| ├─ incrOnlineDdlConfig | array | 表示适配 Online DDL 工具,值可选 GH_OST、PT_OSC 和 ALIYUN_DMS,分别表示 gh-ost、pt-osc 和阿里云 DMS 工具。
|
| ├─ incrSyncConcurrency | integer | 增量同步的线程数,默认值为 64。 |
| ├─ incrLogPullSpeedMode | string | 增量日志拉取速度,可选值包括 STEADY(小)、NORMAL(中)、FAST(大)和 CUSTOM(自定义)。 |
| ├─ incrLogPullSpeedConfig | object | 增量日志拉取资源配置,仅在 incrLogPullSpeedMode 为 CUSTOM 时生效。 |
| ├─├─ memory | integer | 增量日志拉取的内存限制。 |
| ├─ incrLogSyncSpeedMode | string | 增量数据写入速度,可选值包括 STEADY(小)、NORMAL(中)、FAST(大)和 CUSTOM(自定义)。 |
| ├─ incrLogSyncSpeedConfig | object | 增量数据写入资源配置,仅在 incrLogSyncSpeedMode 为 CUSTOM 时生效。 |
| ├─├─ memory | integer | 增量日志写入的内存限制。 |
| ├─├─ readerWorkerNum | integer | Kafka 读取并发数。仅 Oracle 数据源作为源端,并且配置了通过 Kafka 获取增量数据时支持该参数。 |
| ├─├─ writerWorkerNum | integer | 增量日志的写入并发数。 |
| ├─ throttleRps | integer | 增量同步阶段限制能达到的最大传输速率,单位为记录数/秒。输入 null 时,表示不限制 RPS。 |
| ├─ throttleIOPS | integer | 增量同步阶段限制能达到的最大传输流量,单位为字节/秒。输入 null 时,表示不限制 IOPS。 |
| ├─ supportDDLTypes | array | 支持的 DDL 类型。
|
| ├─ conflictPolicy | Enum | 数据冲突策略。取值包括 IGNORE(表示忽略报错,保持目标端原有数据)和 OVERWRITE(表示忽略冲突,使用源端数据覆盖目标端数据),默认值为 IGNORE。仅创建双向同步任务时需要设置该参数。 |
| reverseIncrTransferConfig | object | 反向增量同步的配置。 |
| ├─ startTimestamp | string | 反向增量同步起始位点。仅启用增量同步但未启用全量迁移时,支持设置该参数。 |
| ├─ recordTypeWhiteList | array | 有反向增量同步阶段时,同步的增量数据类型。包括 HEARTBEAT、INSERT、UPDATE、DELETE、BEGIN、COMMIT、ROLLBACK、DDL 和 ROW。 |
| ├─ storeLogKeptHour | integer | 有反向增量同步阶段且增量日志拉取组件为 Store 时,日志的保存时间。单位为小时,默认 7 天,最长支持 365 天。 |
| ├─ enableSequencingWithinTxn | boolean | 有反向增量同步阶段,且增量日志拉取组件为 Store 时,是否开启事务内序号编排。 |
| ├─ enableIncrSyncStatistics | boolean | 是否开启反向增量记录(DML、DDL)统计。 |
| ├─ incrOnlineDdlConfig | array | 表示适配 Online DDL 工具,值可选 GH_OST、PT_OSC 和 ALIYUN_DMS,分别表示 gh-ost、pt-osc 和阿里云 DMS 工具。
|
| ├─ incrSyncConcurrency | integer | 反向增量同步线程数,默认值为 64。 |
| ├─ incrLogPullSpeedMode | string | 反向增量日志拉取速度,可选值包括 STEADY(小)、NORMAL(中)、FAST(大)和 CUSTOM(自定义)。 |
| ├─ incrLogPullSpeedConfig | object | 反向增量日志拉取资源配置,仅在 incrLogPullSpeedMode 为 CUSTOM 时生效。 |
| ├─├─ memory | integer | 反向增量日志拉取的内存限制。 |
| ├─ incrLogSyncSpeedMode | string | 反向增量数据写入速度,可选值包括 STEADY(小)、NORMAL(中)、FAST(大)和 CUSTOM(自定义)。 |
| ├─ incrLogSyncSpeedConfig | object | 反向增量数据写入资源配置,仅在 incrLogSyncSpeedMode 为 CUSTOM 时生效。 |
| ├─├─ memory | integer | 反向增量日志写入的内存限制。 |
| ├─├─ readerWorkerNum | integer | Kafka 读取并发数。仅 Oracle 数据源作为目标端,并且配置了通过 Kafka 获取增量数据时支持该参数。 |
| ├─├─ writerWorkerNum | integer | 反向增量日志的写入并发数。 |
| ├─ throttleRps | integer | 反向增量同步阶段限制能达到的最大传输速率,单位为记录数/秒。输入 null 时,表示不限制 RPS。 |
| ├─ throttleIOPS | integer | 反向增量同步阶段限制能达到的最大传输流量,单位为字节/秒。输入 null 时,表示不限制 IOPS。 |
| ├─ supportDDLTypes | array | 支持的 DDL 类型。
|
| fullVerifyConfig | object | 全量校验的配置。当 enableFullVerify 为 false 时,fullVerifyConfig 取值为 null。当 enableFullVerify 为 true 时,才需要配置下述子参数。 |
| ├─ sourceThreads | integer | 源端并发线程数,范围为 [1,512]。 |
| ├─ sinkThreads | integer | 目标端并发线程数,范围为 [1,512]。 |
| ├─ mode | string | 校验模式,包括 AUTO(自适应模式校验)和 IN(IN 模式校验)。 |
| ├─ sourceThrottleBps | integer | 源端 BPS 限制,取值范围为 [1,1024],单位为 MiB/s,置空表示不限制。 |
| ├─ sinkThrottleBps | integer | 目标端 BPS 限制,取值范围为 [1,1024],单位为 MiB/s,置空表示不限制。 |
| ├─ enableHiddenColumnsAndIndex | boolean | 无非空唯一键表是否增加隐藏列、隐藏索引,适用于以下 5 种类型的数据校验任务:Oracle -> OB_MySQL、Oracle -> OB_Oracle、OB_MySQL -> OB_MySQL、OB_Oracle -> OB_Oracle 和 OB_Oracle -> Oracle。 |
| countVerifyConfig | object | 行数校验的配置。当 enableCountVerify 为 false 时,countVerifyConfig 取值为 null。当 enableCountVerify 为 true 时,才需要配置下述子参数。 |
| ├─ sourceThreads | integer | 源端并发线程数,范围为 [1,512]。 |
| ├─ sinkThreads | integer | 目标端并发线程数,范围为 [1,512]。 |
| ├─ concurrencyTablesNumber | integer | 并发校验表数量,同时对源端和目标端生效。范围为 [1,100]。 |
| ├─ queryTimeout | integer | 查询超时时间,同时对源端和目标端生效。范围为 [1,1440],单位为秒。 |
| incrVerifyConfig | object | 增量校验的配置。当 enableIncrVerify 为 false 时,incrVerifyConfig 取值为 null。当 enableIncrVerify 为 true 时,才需要配置下述子参数。 |
| ├─ startCheckpoint | string | 增量校验开始位点,范围为 [Now-7d,Now+7d],格式为时间戳。 |
| ├─ endCheckpoint | string | 增量校验结束位点,范围为 [startCheckpoint,+00),格式为时间戳。不配置则持续校验。 |
| ├─ initialInspectionCooldownTimeout | integer | 初检热点数据冷却时间。 |
| ├─ initialInspectionDelayTimeout | integer | 初检不一致数据检出时间。 |
| ├─ reInspectionThreads | integer | 复检并发线程数,范围为 [1,512]。 |
| ├─ reInspectionthrottleBps | integer | 复检限速限流,范围为 [1,1024],置空表示不限制,单位为 MiB/s。 |
| ├─ reInspectiontolerateTimeout | integer | 复检最大时间,单位为分钟。 |
| ├─ reInspectionRounds | integer | 复检最大轮次。 |
| ├─ reInspectionDiffWaitMaxIntervalMs | long | 最大等待复检时间。 |
| direction | Enum | 指定数据迁移任务的迁移方向。取值包括 NORMAL(表示单向数据迁移任务)、FORWARD(表示双向同步任务中的正向任务)和 REVERSE(表示双向同步任务中的反向任务),默认值为 NORMAL。 |
| forwardProjectId | string | 双向同步任务中正向任务的任务 ID。该参数仅当 direction 为 REVERSE 时生效。 |
databases/databasesBlack 数据结构
参数 类型 描述 mappedName string 目标端数据库的名称。 name string 源端数据库的名称。 id string 数据库的 ID。 tables array 当前数据库中传输表对象的配置列表。 Mode为WILDCARD时,该参数表示具体黑名单或白名单的配置,表和视图共用。├─ mappedName string 表的映射名称。 ├─ name string 表的名称。 ├─ id string 表的 ID。 ├─ whereClause string 通过标准的 SQL 语句中的 WHERE子句,用于配置行过滤。注意
mode为WILDCARD时,不支持设置 whereClause。├─ filterColumns array 过滤列集合。 注意
mode为WILDCARD时,不支持设置 filterColumns。├─ shardColumns array 分片列集合。 注意
mode为WILDCARD时,不支持设置 shardColumns。views array 当前数据库中传输视图对象的配置。 ├─ mappedName string 视图的映射名称。 ├─ name string 视图的名称。 ├─ id string 视图的 ID。 ├─ whereClause string 标准的 SQL 语句中的 WHERE子句,用于配置行过滤。注意
mode为WILDCARD时,不支持设置 whereClause。├─ filterColumns array 过滤列集合。 注意
mode为WILDCARD时,不支持设置 filterColumns。├─ shardColumns array 分片列集合。 注意
mode为WILDCARD时,不支持设置 shardColumns。functions array 当前数据库中传输函数对象的配置。 ├─ name string 函数的名称。 ├─ mappedName string 函数的映射名称,暂不支持重命名。 procedures array 当前数据库中传输存储过程对象的配置。 ├─ name string 存储过程的名称。 ├─ mappedName string 存储过程的映射名称,暂不支持重命名。 packages array 当前数据库中传输包对象的配置。 ├─ name string 包的名称。 ├─ mappedName string 包的映射名称,暂不支持重命名。 synonyms array 当前数据库中传输同义词对象的配置。 ├─ name string 同义词的名称。 ├─ mappedName string 同义词的映射名称,暂不支持重命名。 sequences array 当前数据库中传输序列对象的配置。 ├─ name string 序列的名称。 ├─ mappedName string 序列的映射名称,暂不支持重命名。 specificTables array 具体表对象的配置列表。 mode为WILDCARD时,该参数表示具体表对象的重命名、行过滤配置。├─ mappedName string 表的映射名称。 ├─ name string 表的名称。 ├─ id string 表的 ID。 ├─ whereClause string 通过标准的 SQL 语句中的 WHERE子句,用于配置行过滤。注意
mode为WILDCARD时,不支持设置 whereClause。├─ filterColumns array 过滤列集合。 注意
mode为WILDCARD时,不支持设置 filterColumns。├─ shardColumns array 分片列集合。 注意
mode为WILDCARD时,不支持设置 shardColumns。specificViews array 具体视图对象的配置列表。 mode为WILDCARD时,该参数表示具体视图对象的重命名配置。├─ mappedName string 视图的映射名称。 ├─ name string 视图的名称。 ├─ id string 视图的 ID。 ├─ whereClause string 标准的 SQL 语句中的 WHERE子句,用于配置行过滤。注意
mode为WILDCARD时,不支持设置 whereClause。├─ filterColumns array 过滤列集合。 注意
mode为WILDCARD时,不支持设置 filterColumns。├─ shardColumns array 分片列集合。 注意
mode为WILDCARD时,不支持设置 shardColumns。specificFunctions array 具体视图对象的配置列表。 mode为WILDCARD时,该参数表示具体函数对象的重命名配置。├─ name string 函数的名称。 ├─ mappedName string 函数的映射名称,暂不支持重命名。 specificProcedures array 具体视图对象的配置列表。 mode为WILDCARD时,该参数表示具体存储过程对象的重命名配置。├─ name string 存储过程的名称。 ├─ mappedName string 存储过程的映射名称,暂不支持重命名。 specificPackages array 具体视图对象的配置列表。 mode为WILDCARD时,该参数表示具体包对象的重命名配置。├─ name string 包的名称。 ├─ mappedName string 包的映射名称,暂不支持重命名。 specificSynonyms array 具体视图对象的配置列表。 mode为WILDCARD时,该参数表示具体同义词对象的重命名配置。├─ name string 同义词的名称。 ├─ mappedName string 同义词的映射名称,暂不支持重命名。 specificSequences array 具体视图对象的配置列表。 mode为WILDCARD时,该参数表示具体序列对象的重命名配置。├─ name string 序列的名称。 ├─ mappedName string 序列的映射名称,暂不支持重命名。
返回结果
| 参数 | 类型 | 描述 |
|---|---|---|
| success | boolean | 是否调用成功。 |
| errorDetail | object | 错误详情。 |
| code | string | 错误码。 |
| message | string | 描述信息。 |
| advice | string | 建议。 |
| requestId | string | 请求 ID。 |
| pageNumber | integer[int32] | 页序号,分页查询时生效。 |
| pageSize | integer[int32] | 页大小,分页查询时生效。 |
| totalCount | integer[int64] | 总数,分页查询时生效。 |
| cost | string | 请求耗时,单位为秒。 |
| data | string | 任务的 ID。 |
示例
请求示例
mode为 SPECIFIC{ "name":"test", "type":"MIGRATION", "labelIds":[ "l_4w****wygjk" ], "sourceEndpointId":"e_4wg07f****", "sinkEndpointId":"e_4wfy2****", "transferMapping":{ "mode":"SPECIFIC", "databases":[ { "mappedName":"gez3***", "name":"ion1****bmysql", "id":null, "tables":[ { "name":"a", "mappedName":"a_new", "id":null, "whereClause":"`id` > 3", "filterColumns":null, "shardColumns":null, } ], "views":null, "specificTables":null, "specificViews":null } ], "databasesBlack":null, "tableAndViewWhiteList":null, "tableAndViewBlackList":null }, "commonTransferConfig":{ "tableCategory":null, "activeActive":false, "mqSerializerType":null, "mqPartitionMode":null, "mqPartition":0, "datahubTopicType":null, "rocketMqProducerGroup":null, "rocketMqMsgTags":null, "rocketMqEnableMsgTrace":null, "rocketMqSendMsgTimeout":null, "dataWorksBusinessName":null, "interactiveMode":true }, "enableStructTransfer":true, "structTransferConfig":{ "byteCharConvertStrategy":"DO_NOTHING_IF_BYTE_USED", "autoProcessedToNextStep": true, "indexMigrationType": "AFTER_FULL_TRANSFER", "triggerMigrationType":"NOT_MIGRATION" }, "enableFullTransfer":true, "fullTransferConfig":{ "nonePkUkTruncateDstTable":null, "allowDestTableNotEmpty":true, "fullTransferSpeedMode":"CUSTOM", "fullTransferSpeedConfig":{ "memory":4, "readerWorkerNum":1, "writerWorkerNum":2 }, "fullVerifySpeedMode":"CUSTOM", "fullVerifySpeedConfig":{ "memory":4, "readerWorkerNum":1, "writerWorkerNum":2 }, "throttleRps": 1000, "throttleIOPS": 1000 }, "enableIncrTransfer":true, "enableReverseIncrTransfer":true, "incrTransferConfig":{ "startTimestamp":1689201369, "storeLogKeptHour":120, "recordTypeWhiteList":[ "DELETE", "INSERT", "UPDATE" ], "enableSequencingWithinTxn":true, "incrSyncConcurrency":64, "incrLogPullSpeedMode":"NORMAL", "incrLogPullSpeedConfig":{ "memory":4 }, "incrLogSyncSpeedMode":"CUSTOM", "incrLogSyncSpeedConfig":{ "memory":4, "readerWorkerNum":1, "writerWorkerNum":2 }, "throttleRps": 1000, "throttleIOPS": 1000, "enableIncrSyncStatistics":true, "supportDDLTypes":[ "CREATE_TABLE", "ALTER_TABLE" ], "incrOnlineDdlConfig":[ "GH_OST", "PT_OSC", "ALIYUN_DMS" ], "conflictPolicy":"IGNORE" }, "ReverseIncrTransferConfig":{ "startTimestamp":1689201369, "recordTypeWhiteList":[ "DELETE", "INSERT", "UPDATE" ], "storeLogKeptHour":120, "incrSyncConcurrency":64, "incrLogPullSpeedMode":"NORMAL", "incrLogPullSpeedConfig":{ "memory":4 }, "incrLogSyncSpeedMode":"CUSTOM", "incrLogSyncSpeedConfig":{ "memory":4, "readerWorkerNum":1, "writerWorkerNum":2 }, "throttleRps": 1000, "throttleIOPS": 1000, "enableIncrSyncStatistics":true, "supportDDLTypes":[ "CREATE_TABLE", "ALTER_TABLE" ] }, "direction":"REVERSE", "forwardProjectId":"np_6xxxx" }mode为 WILDCARD{ "name": "test-wildcard", "type": "MIGRATION", "sourceEndpointId": "e_70w****", "sinkEndpointId": "e_70wr****", "transferMapping": { "mode": "WILDCARD", "tableAndViewWhiteList": [ "db01.*=test.*" ], "databases": [ { "name":"db01", "mappedName":"test", "tables":[ { "name":"*" } ] } ] }, "commonTransferConfig": { "tableCategory": "ALL", "activeActive": false, "enableHiddenColumnsAndIndex": true, "interactiveMode": true }, "enableStructTransfer": true, "enableIncrTransfer": true, "enableReverseIncrTransfer": true, "structTransferConfig": { "autoProcessedToNextStep": false, "indexMigrationType": "WITH_STRUCT_TRANSFER" }, "incrTransferConfig": { "startTimestamp": "1756192557", "recordTypeWhiteList": [ "INSERT", "UPDATE", "DELETE" ], "storeLogKeptHour": 120, "enableSequencingWithinTxn": true, "enableIncrSyncStatistics": true, "incrLogPullSpeedMode": "CUSTOM", "incrLogPullSpeedConfig": { "memory": 7 }, "incrLogSyncSpeedMode": "CUSTOM", "incrLogSyncSpeedConfig": { "writerWorkerNum": 7, "memory": 7 }, "throttleRps": null, "throttleIOPS": null, "supportDDLTypes": [ ], "conflictPolicy":"IGNORE" }, "reverseIncrTransferConfig": { "recordTypeWhiteList": [ "INSERT", "UPDATE", "DELETE" ], "throttleRps": null, "throttleIOPS": null, "supportDDLTypes": [ ], "reverseReuseIncrConfigFlag": true, "storeLogKeptHour": 120, "incrLogPullSpeedMode": "CUSTOM", "incrLogPullSpeedConfig": { "memory": 7 }, "incrLogSyncSpeedMode": "CUSTOM", "incrLogSyncSpeedConfig": { "writerWorkerNum": 7, "memory": 7 } }, "direction":"REVERSE", "forwardProjectId":"np_6xxxx" }对于涉及到重命名和匹配规则的场景,示例如下。
迁移数据库中的所有表
示例一:选中迁移对象后,不进行重命名
{ "mode":"WILDCARD", "databases":[ { "mappedName":"qiu_test", "name":"qiu_test", "specificTables":[ ], "specificViews":[ ], "tables":[ { "name":"*" } ], "views":[ { "name":"*" } ] } ], "databasesBlack":[ { "name":"qiu_test", "mappedName":"qiu_test", "tables":[ { "name":"test_lxquan16*" } ], "views":[ { "name":"test_lxquan16*" } ] } ], "tableAndViewWhiteList":[ "qiu_test.*" ], "tableAndViewBlackList":[ "qiu_test.test_lxquan16*" ] }示例二:选中迁移对象后,进行重命名
{ "mode":"WILDCARD", "databases":[ { "mappedName":"qiu_test", "name":"qiu_test", "specificTables":[ { "mappedName":"test_620", "name":"test_lxquan620", "whereClause":"`c01` > 10" }, { "mappedName":"test_3", "name":"test_lxquan3" } ], "specificViews":[ ], "tables":[ { "name":"*" } ], "views":[ { "name":"*" } ] } ], "databasesBlack":[ { "name":"qiu_test", "mappedName":"qiu_test", "tables":[ { "name":"test_lxquan1?*" } ], "views":[ { "name":"test_lxquan1?*" } ] } ], "tableAndViewWhiteList":[ "qiu_test.*" ], "tableAndViewBlackList":[ "qiu_test.test_lxquan1?*" ] }迁移数据库中的部分表
示例一:选中迁移对象后,不进行重命名
{ "mode":"WILDCARD", "databases":[ { "mappedName":"qiu_test", "name":"qiu_test", "specificTables":[ ], "specificViews":[ ], "tables":[ { "name":"test_lxquan167*" } ], "views":[ { "name":"test_lxquan167*" } ] } ], "databasesBlack":[ { "name":"qiu_test", "mappedName":"qiu_test", "tables":[ { "name":"test_lxquan1671" }, { "name":"test_lxquan1672" } ], "views":[ { "name":"test_lxquan1671" }, { "name":"test_lxquan1672" } ] } ], "tableAndViewWhiteList":[ "qiu_test.test_lxquan167*" ], "tableAndViewBlackList":[ "qiu_test.test_lxquan1671", "qiu_test.test_lxquan1672" ] }示例二:选中迁移对象后,进行重命名
{ "mode":"WILDCARD", "databases":[ { "mappedName":"qiu_test", "name":"qiu_test", "specificTables":[ { "mappedName":"test_1670", "name":"test_lxquan1670" } ], "specificViews":[ ], "tables":[ { "name":"test_lxquan167*" } ], "views":[ { "name":"test_lxquan167*" } ] } ], "databasesBlack":[ { "name":"qiu_test", "mappedName":"qiu_test", "tables":[ { "name":"test_lxquan1671" }, { "name":"test_lxquan1672" }, { "name":"test_lxquan1673" }, { "name":"test_lxquan1674" }, { "name":"test_lxquan1675" }, { "name":"test_lxquan1676" }, { "name":"test_lxquan1677" }, { "name":"test_lxquan1678" }, { "name":"test_lxquan1671" }, { "name":"test_lxquan167" } ], "views":[ { "name":"test_lxquan1671" }, { "name":"test_lxquan1672" }, { "name":"test_lxquan1673" }, { "name":"test_lxquan1674" }, { "name":"test_lxquan1675" }, { "name":"test_lxquan1676" }, { "name":"test_lxquan1677" }, { "name":"test_lxquan1678" }, { "name":"test_lxquan1671" }, { "name":"test_lxquan167" } ] } ], "tableAndViewWhiteList":[ "qiu_test.test_lxquan167*" ], "tableAndViewBlackList":[ "qiu_test.test_lxquan1671", "qiu_test.test_lxquan1672", "qiu_test.test_lxquan1673", "qiu_test.test_lxquan1674", "qiu_test.test_lxquan1675", "qiu_test.test_lxquan1676", "qiu_test.test_lxquan1677", "qiu_test.test_lxquan1678", "qiu_test.test_lxquan1671", "qiu_test.test_lxquan167" ] }
mode为 COMPLEX{ "name": "test-complex", "type": "MIGRATION", "sourceEndpointId": "e_70wq****", "sinkEndpointId": "e_70wr2****", "transferMapping": { "mode": "COMPLEX", "tableAndViewWhiteList": [ "db01.*=test.*", "db02.*" ], "tableAndViewBlackList": [ ], "schemas": [ ], "whiteTableRules": [ { "schemaMapping": { "name": "db01", "mappedName": "test" }, "objectMapping": { "name": "*", "mappedName": "*" } }, { "schemaMapping": { "name": "db02" }, "objectMapping": { "name": "*" } } ], "blackTableRules": [ ], "whiteViewRules": [ { "schemaMapping": { "name": "db01", "mappedName": "test" }, "objectMapping": { "name": "*", "mappedName": "*" } }, { "schemaMapping": { "name": "db02" }, "objectMapping": { "name": "*" } } ], "blackViewRules": [ ] }, "commonTransferConfig": { "tableCategory": "ALL", "activeActive": false, "enableHiddenColumnsAndIndex": true, "interActiveMode": true }, "enableStructTransfer": true, "enableIncrTransfer": true, "enableReverseIncrTransfer": true, "structTransferConfig": { "autoProcessedToNextStep": false, "indexMigrationType": "WITH_STRUCT_TRANSFER" }, "incrTransferConfig": { "startTimestamp": "1756192557", "recordTypeWhiteList": [ "INSERT", "UPDATE", "DELETE" ], "storeLogKeptHour": 120, "enableSequencingWithinTxn": true, "enableIncrSyncStatistics": true, "incrLogPullSpeedMode": "CUSTOM", "incrLogPullSpeedConfig": { "memory": 7 }, "incrLogSyncSpeedMode": "CUSTOM", "incrLogSyncSpeedConfig": { "writerWorkerNum": 7, "memory": 7 }, "throttleRps": null, "throttleIOPS": null, "supportDDLTypes": [ ], "conflictPolicy":"IGNORE" }, "reverseIncrTransferConfig": { "recordTypeWhiteList": [ "INSERT", "UPDATE", "DELETE" ], "throttleRps": null, "throttleIOPS": null, "supportDDLTypes": [ ], "reverseReuseIncrConfigFlag": true, "storeLogKeptHour": 120, "incrLogPullSpeedMode": "CUSTOM", "incrLogPullSpeedConfig": { "memory": 7 }, "incrLogSyncSpeedMode": "CUSTOM", "incrLogSyncSpeedConfig": { "writerWorkerNum": 7, "memory": 7 } }, "direction":"REVERSE", "forwardProjectId":"np_6xxxx" }type为 VERIFY{ "id": "np_6****", "name": "test****", "labelIds": [], "sourceEndpointType": "ORACLE", "sinkEndpointType": "OB_ORACLE", "sourceEndpointId": "e_6****", "sinkEndpointId": "e_6****", "transferMapping": { "mode": "SPECIFIC", "databases": [ { "name": "CHENJIAN", "mappedName": "ORAAUDITOR", "tables": [ { "name": "TABLE2", "mappedName": "TABLE2", "whereClause": "Y > 10", "filterColumns": [ "X", "Y" ], "shardColumns": null, "columns": [ { "columnName": "Y", "mappedName": "Y1", "position": null, "columnType": null, "recordFieldType": null, "rawColumnType": null, "columnKey": null, "nullable": null, "defaultValue": null, "dataLength": null, "dataPrecision": null, "dataScale": null, "encoding": null, "columnComment": null, "notNullMappedName": "Y1", "generateField": false } ], "partitionNames": [] }, { "name": "TABLE3", "mappedName": "TABLE3", "whereClause": null, "filterColumns": null, "shardColumns": null, "columns": null, "partitionNames": [] }, { "name": "TABLE4", "mappedName": "TABLE4", "whereClause": "", "filterColumns": [ "ID" ], "shardColumns": null, "columns": [], "partitionNames": [] }, { "name": "TABLE5", "mappedName": "TABLE5", "whereClause": "", "filterColumns": [ "ID" ], "shardColumns": null, "columns": [], "partitionNames": [] }, { "name": "TABLE6", "mappedName": "TABLE6", "whereClause": "", "filterColumns": [ "VAL_MAPPING" ], "shardColumns": null, "columns": [], "partitionNames": [] }, { "name": "TABLE7", "mappedName": "TABLE7", "whereClause": "", "filterColumns": [ "ID", "NAME" ], "shardColumns": null, "columns": [ { "columnName": "ID", "mappedName": "ID2", "position": null, "columnType": null, "recordFieldType": null, "rawColumnType": null, "columnKey": null, "nullable": null, "defaultValue": null, "dataLength": null, "dataPrecision": null, "dataScale": null, "encoding": null, "columnComment": null, "notNullMappedName": "ID2", "generateField": false } ], "partitionNames": [] }, { "name": "TABLE8", "mappedName": "TABLE8", "whereClause": "", "filterColumns": [ "X" ], "shardColumns": null, "columns": [ { "columnName": "X", "mappedName": "Y", "position": null, "columnType": null, "recordFieldType": null, "rawColumnType": null, "columnKey": null, "nullable": null, "defaultValue": null, "dataLength": null, "dataPrecision": null, "dataScale": null, "encoding": null, "columnComment": null, "notNullMappedName": "Y", "generateField": false } ], "partitionNames": [] } ], "procedures": [ { "name": "PL1", "mappedName": "PL1" } ], "functions": [ { "name": "FUNCTION1", "mappedName": "FUNCTION1" } ] } ] }, "commonTransferConfig": { "enableHiddenColumnsAndIndex": true }, "enableFullVerify": true, "enableCountVerify": false, "enableIncrVerify": false, "fullVerifyConfig": { "sourceThreads": 4, "sinkThreads": 4, "mode": "AUTO", "sourceThrottleBps": null, "sinkThrottleBps": null, "enableHiddenColumnsAndIndex": true }, "countVerifyConfig": null, "incrVerifyConfig": null, "type": "VERIFY", "incrTransferConfig": { "storeTemplate": [] }, "reverseIncrTransferConfig": { "storeTemplate": [] }, "precheckId": "t_6****" }
返回示例
{
"Success":true,
"ErrorDetail":{
"Code":"CM-RES***11",
"Level":"WARN",
"Message":"A system error occurred.",
"Proposal":"Contact the administrator."
},
"Code":"INNER_ERROR",
"Message":"A system error occurred.",
"Advice":"Contact the administrator.",
"RequestId":"XCVSADG****DSGDS",
"PageNumber":1,
"PageSize":1,
"TotalCount":1,
"Cost":"27 ms",
"Data":"np_****"
}