---
title: "创建任务 | OceanBase 文档中心"
description: 创建任务 本文为您介绍 OceanBase 迁移服务（OceanBase Migration Service，OMS）提供的 OpenAPI：创建任务 CreateProject。 功能说明 本接口用于创建数据迁移、数据同步或数据校验任务。 调用说明 接口约束 本接口适用于 OMS V4.1.0 及之后版本。 请求路…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*L03BS6f-o40AAAAAAAAAAAAADiGDAQ/original) 迁移服务 OMSV 4.3.1 企业版

# 创建任务

更新时间：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 | 目标端表对象存在记录时处理策略，包括 **忽略** 和 **停止迁移**。   - 设置为 true 时，表示选择忽略：当目标端表对象存在数据时，如果原数据与写入数据冲突，OMS 采用将冲突数据记录日志，保留原数据不变的策略进行数据写入。     #### 注意      选择 **忽略**，全量校验将使用 IN 模式拉取数据，无法校验目标端存在源端没有的数据的场景，并且校验性能会有一定程度降级。 - 设置为 false 时，表示选停止迁移：当目标端表对象存在数据时，全量迁移会报错不允许迁移，请处理好目标端数据后再继续迁移。     #### 注意      如果出错后单击恢复，OMS 将忽略该配置选项，继续迁移表数据，请谨慎操作。 |
| ├─ 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 工具。   - 该参数在正向增量同步配置中生效于 MySQL 数据库至 OceanBase 数据库 MySQL 兼容模式迁移的正向增量同步。 - 该参数在反向增量同步配置中生效于 OceanBase 数据库 MySQL 兼容模式至 MySQL 数据库的反向增量同步。 |
| ├─ 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 类型。   - CREATE_TABLE - ALTER_TABLE - DROP_TABLE - RENAME_TABLE - TRUNCATE_TABLE - CREATE_INDEX - DROP_INDEX |
| ├─ 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 工具。   - 该参数在正向增量同步配置中生效于 MySQL 数据库至 OceanBase 数据库 MySQL 兼容模式迁移的正向增量同步。 - 该参数在反向增量同步配置中生效于 OceanBase 数据库 MySQL 兼容模式至 MySQL 数据库的反向增量同步。 |
| ├─ 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 类型。   - CREATE_TABLE - ALTER_TABLE - DROP_TABLE - RENAME_TABLE - TRUNCATE_TABLE - CREATE_INDEX - DROP_INDEX |
| 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

  ```JSON
  {
      "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

  ```JSON
  {
  "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"
  }

  ```

  对于涉及到重命名和匹配规则的场景，示例如下。

     - 迁移数据库中的所有表

      示例一：选中迁移对象后，不进行重命名

      ```JSON
          {
          "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*"
          ]
        }

      ```

      示例二：选中迁移对象后，进行重命名

      ```JSON
      {
          "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?*"
          ]
      }

      ```
     - 迁移数据库中的部分表

                  ],
                  "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"
          ]
      }

      ```

      ```JSON
      {
          "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

  ```JSON
  {
  "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": [

  ```
 - `type` 为 VERIFY

  ```JSON
  {
      "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****"
  }

  ```

### 返回示例

```JSON
{
    "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_****"
}

```

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
