---
title: "OMS 错误码 | OceanBase 文档中心"
description: OMS 错误码 本文档介绍 OceanBase 迁移服务（OceanBase Migration Service，OMS）的错误信息及其解决方法。 OMS 错误码分类说明 OMS 的错误码按照组件分类，分为 Console 错误码、预检查错误码、CM（集群管理服务）错误码和 Supervisor 错误码。更多关于 O…
---
切换语言

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

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

# OMS 错误码

更新时间：2026-04-14 15:36:02

本文档介绍 OceanBase 迁移服务（OceanBase Migration Service，OMS）的错误信息及其解决方法。

## OMS 错误码分类说明

OMS 的错误码按照组件分类，分为 Console 错误码、预检查错误码、CM（集群管理服务）错误码和 Supervisor 错误码。更多关于 OMS 组件的信息，请参见 [名词解释](https://www.oceanbase.com/docs/enterprise-oms-doc-cn-1000000004023088)。

## OMS 错误码等级说明

OMS 的错误码等级分为 FATAL、ERROR 和 WARNING 三类，详细说明请参见下表。

| 错误码等级 | 说明 |
| --- | --- |
| FATAL | FATAL，可能会导致系统紊乱或不可用。 |
| ERROR | 常规错误。 |
| WARNING | 警告。 |

## Console 错误码

### GHANA-OPEROR000001

**错误等级：** ERROR

**错误信息：** Checker status failed.

**错误原因：** Full-Verification 组件状态失败。

**解决方案：** 进入容器，检查对应 Full-Verification 组件的日志。如果无法解决，请联系值班人员提起工单。获取 Full-Verification 组件名称的方式，请参见 [如何查询 Full-Verification 组件的名称](https://www.oceanbase.com/knowledge-base/oms-ee-1000000000234448)。例如：

1. `/home/ds/run/{checker组件名称}/logs/error.log`
 2. `/home/ds/run/{checker组件名称}/stdout.out`

### GHANA-OPERAT000101

**错误等级：** ERROR

**错误信息：** Access denied for user 'root'@'xxx.xxx.xxx.xxx'.

**错误原因：** 数据源账号或密码错误。

**解决方案：** 请录入正确的数据源账号或密码。

### GHANA-MIGRAT000201

**错误等级：** ERROR

**错误信息：** Schema, table or view migration failed.

**错误原因：** 库、表或者视图迁移失败。

**解决方案：** 建议在 **迁移详情-结构迁移** 部分分别查看库、表、视图三个页签，勾选 **只查看异常对象** 并查看是否存在失败的迁移对象。如果存在，请查看具体的报错信息（通常是表已经存在、A 表依赖的 B 表不存在等）。如果仍未解决，请提交工单寻求支持。

### GHANA-PCHKNP002030

**错误等级：** ERROR

**错误信息：** 预检查 {checkType} 执行不通过。

**错误原因：** 当前账号 {user} 没有表 {tables} 写权限。

**解决方案：** 请为账号 {user} 配置表的写权限，并重试预检查。MySQL 账号配置权限示例：`GRANT INSERT ON _*.*_ TO {user} ;`。

### GHANA-PCHKNP003020

**错误等级：** ERROR

**错误原因：** 全量迁移账号 {user} 没有权限 {privilege}。

**解决方案：** 请为全量迁移账号 {user} 配置权限，并重试预检查。MYSQL账号配置权限示例：`GRANT {privilege} ON _*.*_ TO {user};`。

### GHANA-PCHKNP003030

**错误等级：** ERROR

**错误原因：** 增量迁移账号 {user} 没有权限 {privilege}。

**解决方案：** 请为增量迁移账号 {user} 配置权限，并重试预检查。MySQL 账号配置权限示例：`GRANT {privilege} ON _*.*_ TO {user};`。

### GHANA-PCHKNP003040

**错误等级：** ERROR

**错误原因：** {tables} 没有唯一键，OMS 尚不支持。

**解决方案：** 请移除表对象，并重试预检查。

### GHANA-PCHKNP003050

**错误等级：** ERROR

**错误原因：** 以下表的字符集暂不支持：{tables}，目前 OMS 支持以下字符集：{legalCharsets}。

**解决方案：** 请修改表字符集，并重试预检查。

### GHANA-PCHKNP003070

**错误等级：** ERROR

**错误原因：** 以下表 {tables} 存在外键。

**解决方案：** 请修改表结构或跳过表，并重试预检查。

## 预检查

### GHANA-PCHKNP000010

**错误等级：** ERROR

**错误原因：** 数据库 {jdbcUrl} 连通性测试不通过，诊断信息：{message}。

**解决方案：** 请检查数据源 {endpointName} 是否正常连通。

### GHANA-PCHKNP001010

**错误等级：** ERROR

**错误原因：** 数据库 {schemaName} 是系统库，禁止向系统库迁移或同步数据。

**解决方案：** {schemaName} 是系统库，请从源端对象中排除。

### GHANA-PCHKNP001011

**错误等级：** ERROR

**错误原因：** 数据库 {schemaName} 不存在，请检查库名填写正确或者确认库是否存在。

**解决方案：** 数据库 {schemaName} 不存在，请重新选择源端对象或者使用重命名功能修正源端和目标端的映射关系。

### GHANA-PCHKNP002010

**错误等级：** ERROR

**错误原因：** 以下表对象在远程数据库中未找到：{tableNames}。

**解决方案：** 表 {tableNames} 不存在，请重新选择源端对象。

### GHANA-PCHKNP002020

**错误等级：** ERROR

**错误原因：** 白名单长度过长。

**解决方案：** 请减少迁移或同步对象数量，或者使用匹配规则来选择迁移或同步对象。

### GHANA-PCHKNP003010

**错误等级：** ERROR

**错误原因：** 表 {table} 存在 lob 字段。

**解决方案：** 请在待迁移表中去掉此类表 {tableNames}。

## CM 错误码

### CM-RESOIE000201

**错误等级：** FATAL

**错误信息：** No available store. SubTopic:[%s], checkpoint:[%s]

**错误原因：** Store 进程均已停止，或者当前 Store 进程包含的数据范围，不满足 Writer 组件所需的时间点。(示例：Writer 需从 10 点钟开始拉数据，但是 Store 内数据范围为 11点钟~12点钟)

**解决方案：**

企业版：

1. 重启已有 Store。您可以在 **右上角-查看组件监控**，尝试排查 Store 日志、或者重启 Store 操作来恢复已有 Store。
 2. 如果无法恢复原先的 Store 组件，可以尝试新建 Store。您可以登录 OMS 控制台，前往 **运维监控-组件-Store**，按照链路 Topic 信息和 Writer 当前位点时间，新建一个 Store。注意：Store 启动时间，需要稍提前于 Writer 当前位点。示例：如果 Writer 位点时间在 "2022-08-01 10:05:00"，您需要将 Store 位点提前 5~10 分钟(例如 "2022-08-01 10:00:00")，再进行新建 Store 操作。

### CM-RESOIE000202

**错误等级：** FATAL

**错误信息：** No active stores under topic : subTopic.getName()

**错误原因：** 当前任务未创建 Store，或已有 Store 进程均已退出。

**解决方案：**

企业版：

1. 重启已有 Store。您可以在 **右上角-查看组件监控**，尝试排查 Store 日志、或者重启 Store 操作来恢复已有 Store。
 2. 如果无法恢复原先的 Store 组件，可以尝试新建 Store。您可以登录 OMS 控制台, 前往 **运维监控-组件-Store**，按照链路 Topic 信息和 Writer 当前位点时间，新建一个 Store。注意：Store 启动时间，需要稍提前于 Writer 当前位点。示例：如果 Writer 位点时间在 "2022-08-01 10:05:00"，您需要将 Store 位点提前 5~10 分钟(如 "2022-08-01 10:00:00")，再进行新建 Store 操作。

### CM-RESOAT000011

**错误等级：** FATAL

**错误信息：** Supervisor does not report any result after CM Retry 60 seconds.

**错误原因：** OMS 代理服务组件 Supervisor 长时间未向管控组件汇报任务执行结果。

**解决方案：**

企业版：

1. 进入 OMS 容器，执行 `supervisorctl status oms_drc_supervisor` 命令。如果状态不为 `RUNNING`，执行 `supervisorctl restart oms_drc_supervisor` 命令重启 Supervisor 组件。
 2. 登录 OMS 控制台，单击当前任务右上角 **查看组件监控** 按钮，查看组件日志，观察是否有明显报错。
 3. 如果组件日志中无明显报错，单击当前任务右上角 **恢复** 按钮，尝试恢复任务。
 4. 如果仍未恢复，请提交工单寻求支持。

### CM-RESOAT000012

**错误等级：** FATAL

**错误信息：** Supervisor failed to execute command.

**错误原因：** OMS 代理服务组件 Supervisor 执行管控下发的命令时，发生预期外异常。

**解决方案：**

企业版：请先尝试在界面上单击 **恢复** 按钮，恢复任务。如果未恢复，则在容器内执行 `supervisorctl status` 检查 OMS 各组件是否均为 `RUNNING` 状态（如果不为 `RUNNING`，执行 `supervisorctl restart $组件名称` 重启该组件）。

### CM-RESOAT000013

**错误等级：** FATAL

**错误信息：** 展示命令具体结果。

**错误原因：** OMS 代理服务组件 Supervisor 执行管控下发的命令失败。

**解决方案：**

企业版：请先尝试恢复任务。如果未恢复，进入 OMS 容器，查看 `/home/admin/logs/supervisor/error.log` 日志，并提供给 OMS 管理员。

### CM-SCHEOR000002

**错误等级：** FATAL

**错误信息：** Failed to operate all process. Failed: {$Failed}.

**错误原因：** 本次运维操作涉及的所有组件，均操作失败。

**解决方案：**

企业版：可以直接重试运维任务。或者登录 OMS 控制台, 进入 **运维监控-组件** 页面，进入具体的组件类型页面，逐个搜索失败的组件进程名称，再继续进行相应的运维操作。

### CM-SCHEOR000003

**错误等级：** FATAL

**错误信息：** Failed to operate part of process. Failed: {$Failed}, Success: {$Success}

**错误原因：** 本次运维操作涉及的组件，对部分组件的运维操作失败。

**解决方案：**

企业版：可以直接重试运维任务，或者登录 OMS 控制台，进入 **运维监控-组件** 页面，进入具体的组件类型页面，逐个搜索失败的组件进程名称，再继续进行相应的运维操作。

### CM-SCHEOR000203

**错误等级：** FATAL

**错误信息：** Failed to start crawler.

**错误原因：** 启动增量拉取组件 (Store) 失败。

**解决方案：**

企业版：登录 OMS 控制台, 单击当前任务右上角的 **查看组件监控** 按钮，查看 Store 组件日志，观察是否有明显报错。

### CM-SCHEAT000001

**错误等级：** FATAL

**错误信息：** Failed to start checker.

**错误原因：** 启动全量组件失败。

**解决方案：**

企业版：请提交工单寻求支持。登录 OMS 控制台，单击当前任务右上角 **查看组件监控** 按钮，查看 Full-Verification 组件日志，观察是否有明显报错。

### CM-SCHEAT000102

**错误等级：** FATAL

**错误信息：** Failed to start writer.

**错误原因：** 启动增量传输组件 (oboms-connector) 失败。

**解决方案：**

企业版：登录 OMS 控制台，单击当前任务右上角 **查看组件监控** 按钮，查看 Connector 组件日志，观察是否有明显报错。

### CM-RESONF000001

**错误等级：** FATAL

**错误信息：** No alive hosts in current region.

**错误原因：** 容器内 OMS 代理服务组件 Supervisor 长时间未向数据库汇报心跳。

**解决方案：**

企业版：

1. 登录 OMS 容器，执行 `supervisorctl status` 命令。如果 OMS 组件为非 `RUNNING` 状态, 则执行 `supervisorctl restart $组件名` 重启该组件，观察是否恢复。
 2. 否则继续执行 `env | grep OMS_HOST_IP` 命令，确认启动 OMS 容器时，是否正确传入 `OMS_HOST_IP` 参数。如果未传入或传入错误，请删除当前容器，正确传入参数后，重新部署。
 3. 登录 `config.yaml` 中 `drc_cm_db` 参数所指向数据库，查询机器信息 host 表。查看表内 IP 与 机器实际 IP 是否相同。如果不相同，请检查 ``config.yaml`` 中 cm_nodes`` 是否配置正确。如果传入错误，请删除当前容器，修改 `yaml` 配置文件，重新部署。

### CM-RESONF000002

**错误等级：** FATAL

**错误信息：** No available machine in current region.

**错误原因：** 未正常执行 OMS 容器初始化。

**解决方案：**

企业版：请进入 OMS 容器，再次执行 `sh /root/docker_init.sh` 命令。该操作是幂等行为，可重复执行。

### CM-RESONF000003

**错误等级：** FATAL

**错误信息：** No enough machine resource for a `$taskType` task.

**错误原因：** OMS 集群内机器部分资源指标超出系统阈值。其中，CPU 阈值为 `$(CPU)`，内存阈值为 `$(Mem)`，磁盘阈值为 `$(Disk)`。 各机器实际资源使用率如下：`{$Usage}`。

**解决方案：**

企业版：可以通过停止、释放长期未使用的任务，以降低机器资源消耗。

### CM-RESONF000021

**错误等级：** FATAL

**错误信息：** Machine group of region = ($Region) do not init.

**解决方案：**

企业版：请进入 OMS 容器，执行 `sh /root/docker_init.sh` 命令，并等待命令结束。执行命令需耗时 3~5 分钟。该操作是幂等行为，可重复执行。

## Connector 错误码

### CONNECTOR-SOOO04006210

**错误等级：** FATAL

**错误信息：** internal error code, arguments: -6210, Transaction is timeout

**错误原因：** 源端事务执行超时。

**解决方案：** 增加超时时间 `SET @@global.ob_trx_timeout = 更大的时间(单位微秒)`，您可以通过 `SHOW VARIABLES LIKE '%ob_trx_timeout%'` 查看。

### CONNECTOR-SIOO0400600

**错误等级：** FATAL

**错误信息：** ORA-00600: internal error code, arguments: -6244, out of transaction threshold

**错误原因：** 目标单个事务提交数据量超过值。

**解决方案：** 先查看当前值：`SELECT * FROM __all_virtual_sys_parameter_stat WHERE name='_max_trx_size';`。在 OceanBase 数据库的 sys 租户下执行：`ALTER system SET _max_trx_size = 更大的值`。

#### 注意

OceanBase 数据库 3.X 已经取消事务数据量限制，无需设置。

### CONNECTOR-SOOO0400601

**错误等级：** FATAL

**错误信息：** ORA-00600: internal error code, arguments: -4258, Incorrect string value

**错误原因：** ORA-00600: internal error code, arguments: -4258, Incorrect string value. 3.1.2 OceanBase bug，已知问题。

**解决方案：** 系统租户执行：`ALTER system SET _enable_static_typing_engine = false;`。

### CONNECTOR-SOOO0401555

**错误等级：** FATAL

**错误信息：** ORA-01555 snapshot too old

**错误原因：** OceanBase 快照过旧。

**解决方案：** 系统租户下查看当前值：`SHOW VARIABLES LIKE 'undo_retention';`。执行增加快照超时时间 `SET global undo_retention=更大的值;`。

### CONNECTOR-SID201000104

**错误等级：** FATAL

**错误信息：** DB2 SQL ERROR: SQL CODE = -104, SQLSTATE = 42610, SQLERRORMC = 2003

**错误原因：** 非法的 DB2 语法。

**解决方案：** OMS 内部组件转换 DDL 问题，请从 `error.log` 中找到执行报错的 DDL，根据该 DDL 再从 `ddl_msg.log` 中找到原始的 DDL，评估跳过该 DDL 的影响。如果可以跳过，则配置跳过该 DDL，并联系 OMS 管理员反馈转换 DDL 的问题。如果不能跳过，请联系 OMS 管理员反馈转换 DDL 的问题。

### CONNECTOR-SIOR01003291

**错误等级：** FATAL

**错误信息：** SQL Error: ORA-03291: Invalid truncate option - missing STORAGE keyword

**错误原因：** 非法的 Oracle 语法

### CONNECTOR-SIOR01001861

**错误等级：** FATAL

**错误信息：** SQL Error: ORA-01861: literal does not match format string

**错误原因：** 非法的表达式。

### CONNECTOR-SIOR01014054

**错误等级：** FATAL

**错误信息：** SQL Error: ORA-14054: invalid ALTER TABLE TRUNCATE PARTITION option

**错误原因：** 在 `ALTER TABLE TRUNCATE PARTITION` 语句中，在分区名称后面指定了无效选项。

### CONNECTOR-SIOR01000907

**错误等级：** FATAL

**错误信息：** SQL Error: ORA-00907: missing right parenthesis

**错误原因：** 非法的 Oracle 语法，缺少右括号。

### CONNECTOR-SIOO01000900

**错误等级：** FATAL

**错误信息：** SQL Error: ORA-00900: You have an error in your SQL syntax

**错误原因：** 非法的 OB-ORACLE DDL 语法

**解决方案：** 内部组件转换错误或 OceanBase 数据库不支持执行，请联系 OMS 技术支持人员。

### CONNECTOR-SIOO01001451

**错误等级：** FATAL

**错误信息：** SQL Error: ORA-01451: column to be modified to NULL cannot be modified to NULL

**错误原因：** 当前列已经为 NULL，无法修改该列为 NULL。

**解决方案：** 过滤该 DDL。

### CONNECTOR-SIMS01001064

**错误等级：** FATAL

**错误信息：** ERROR 1064 (42000): You have an error in your SQL syntax;

**错误原因：** MySQL 语法错误

### CONNECTOR-SIOM01001426

**错误等级：** FATAL

**错误信息：** ERROR 1426 (42000): Too big precision specified for column. Maximum is 65.

**错误原因：** 字段精度超出限制。

### CONNECTOR-SIOM01001064

**错误等级：** FATAL

**错误信息：** You have an error in your SQL syntax;

**错误原因：** 非法的 SQL DDL 语法。

**解决方案：** 内部组件转换错误或 OceanBase 数据库 不支持执行，请联系 OMS 技术支持人员。

### CONNECTOR-SIDH-{type}-001004

**错误等级：** ERROR

**错误信息：** Exceed limit of bps

**错误原因：** DataHub 单个 Shard 限流 5M/s，OMS 同步速率过快。

**解决方案：** 扩容 DataHub 的 Shard（在 Datahub Console 上操作）。

### CONNECTOR-SIDH-{type}-001005

**错误等级：** FATAL

**错误信息：** MalformedRecordException，Not Found Field

**错误原因：** Schema 不正确。通常是发生在 DataHub 是 Tuple 模式情况下，源端执行了 DDL 增加了字段但是在目的端（DataHub）并没有增加对应的字段。

**解决方案：**

1. 确定缺少的 Datahub Schema 字段（对比源端与目的端的 Schema）。
 2. 请参见 [Datahub 文档](https://help.aliyun.com/document_detail/184383.html#p-d5u-2q1-6to) 修改 Datahub Schema。

### CONNECTOR-SIDH-{type}-001006

**错误等级：** FATAL

**错误信息：** exceed max length: 2097152

**错误原因：** DataHub 允许 String 字段最大不能超过 2M。更多信息，请参见 [Datahub 文档](https://help.aliyun.com/document_detail/47441.html)。

**解决方案：** 没有办法解决，只能取消同步这张表（可以通过管控的更改同步对象取消这张表的同步）。

### CONNECTOR-SIOR00012899

**错误等级：** FATAL

**错误信息：** ORA-12899: 列 "MOCK_DATABASE"."MOCK_ALLTYPE_OBORACLE_TABLE"."TCHAR" 的值太大 (实际值: 13, 最大值: 3)

**错误原因：**

1. 未开启增量 DDL同步，排查是否源端做了加列的操作。
 2. 已开启增量 DDL 同步，可能是 DDL 转化中未成功。

**解决方案：**

1. 未开启增量 DDL 同步，先查看源端和目标端的字符集。如果两端的字符集不相同（例如源端是 UTF8，目标端是 GBK），将目标端的列长度改成源端列的 1.5 倍以上。如果两端的字符集相同，则将目标端的列长度改成和源端一致的长度。如果仍报错，清联系 OMS 技术支持人员。
 2. 已开启增量 DDL 同步，请排查 `ddl_msg.log`，搜索对应的列，找到对应的 DDL 语句，联系 OMS 技术支持人员。

### CONNECTOR-SIOO00012899

**错误等级：** FATAL

**错误信息：** (conn=1055676) ORA-12899: value too large for column "MOCK_DATABASE"."MOCK_ALLTYPE_OBORACLE_TABLE"."TCHAR" (actual: 19, maximum: 1)

**错误原因：**

1. 未开启增量 DDL 同步，可能是源端存在增加列的操作。
 2. 已开启增量 DDL 同步，可能是 DDL 转化中未成功。

**解决方案：**

### CONNECTOR-SIOO00014400

**错误等级：** FATAL

**错误信息：** 目标端表少分区，(conn=2719331) ORA-14400: inserted partition key does not map to any partition,${db}.${table}

**错误原因：**

1. 未开启增量 DDL 同步，可能是源端做了加分区操作。
 2. 已开启增量 DDL 同步，如果源端创建表时存在自动生成分区的语法，后面自动生成分区的 DDL 不会被增量拉取，即自动增加分区的 DDL 不会同步至目标端。
 3. 已开启增量 DDL 同步，如果源端创建表时没有自动生成分区的语法，请排查 `ddl_msg.log`，搜索对应的表，找到对应的增加分区的 DDL 语句，联系 OMS 技术支持人员。

**解决方案：** 对比源端和目标端的表结构，在目标端创建缺失的分区。

### CONNECTOR-SIOO00000942

**错误等级：** FATAL

**错误信息：** 目标端表不存在，table not existed, table:MOCK_ALLTYPE_OBORACLE_TABLE,db:oms_oracle.MOCK_DATABASE

**错误原因：**

1. 未开启增量 DDL 同步，可能是源端创建了表。
 2. 已开启增量 DDL 同步，可能是 DDL 转化中未成功。

**解决方案：**

1. 未开启增量 DDL 同步，在目标端将表建上。
 2. 已开启增量 DDL 同步，排查 `ddl_msg.log`，搜索对应的表，找到对应的建表 DDL 语句，请联系 OMS 技术支持人员。

### CONNECTOR-SIOO00000060

**错误等级：** FATAL

**错误信息：** 目标端执行死锁，(conn=2356749) ORA-00060: deadlock detected while waiting for resource,${db}.${table}

**错误原因：** 目标端的锁上升到块锁，并发执行导致死锁。

**解决方案：**

1. 登录 OMS 控制台。
 2. 在左侧导航栏，单击 **数据迁移**。
 3. 在 **数据迁移** 页面，单击目标数据迁移任务的名称，进入详情页面。
 4. 单击页面右上角的 **查看组件监控**。
 5. 单击 **更新** 按钮后，找到 `worker_num` 配置项，将值修改为 `1`。
 6. 链路运行一段时间，位点推进正常后，再将数值改回初始值。

### CONNECTOR-SIAL00000001

**错误等级：** FATAL

**错误信息：** 源端表字段在目标端表中不存在，handleColumnsOnlyInSource: Field${field} in ${sourceTable} not found in target table ${targetTable}

**错误原因：**

1. 如果未开启增量 DDL 同步，则排查是否源端存在增加列的操作。
 2. 如果已开启增量 DDL 同步，则可能是 DDL 转化中未成功。

**解决方案：**

1. 如果未开启增量 DDL 同步，则在目标端创建缺失的列。
 2. 如果开启增量 DDL 同步，则排查 `ddl_msg.log`，搜索对应的列，找到对应的加列语句，请联系 OMS 技术支持人员。

### CONNECTOR-ALAL00000500

**错误等级：** FATAL

**错误信息：** 不确定

**错误原因：** 未知错误

**解决方案：** 请联系 OMS 技术支持人员

### CONNECTOR-SIKA-{type}-001101

**错误等级：** ERROR

**错误信息：** TimeoutException

**错误原因：**

1. 可能是 OMS 与 Kafka Server 网络连通性问题导致（使用 Ping 及 telent 测试方案 1）。
 2. 可能是 OMS 与 KafkaServer 网络延迟太高导致（更改 Kafka 配置项方案 2）。

**解决方案：**

1. 确定 Kafka Server 状态及网络连通性。例如，`sink.json` 配置中 kafka sever 是 `xxx.xxx.xxx.xxx:9092`。您可以通过 `telnet xxx.xxx.xxx.xxx 9092` 查看网络连通性。如果网络连通没有问题，但是网络延迟较大，可以使用步骤 2 更改超时配置项。如果网络连通性存在问题需要优先解决网络连通性问题。
 2. 如果确定 Kafka Server 没有问题，可以更改 Connector 配置项。

   ```json
   "properties": {"request.timeout.ms": 期望的 timeout 毫秒数}

   ```

更改配置项方式，OMS 白屏运维管控，选择对应的 Connector，单击 **更新** 按钮。

1. 如果 sink 配置项中已经存在了 `properties` 配置项则通过 json 的格式，在其中增加上述 `request.timeout.ms` 配置项。
 2. 如果 sink 配置项中未找到 `properties` 则可以移动鼠标到 sink 配置项上有一个 + 按钮可以添加配置项。

   ![error-3](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/oms/oms-enterprise/error-3.png)

   下图更改为 6000 ms，然后单击 ✅。

   ![error-1](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/oms/oms-enterprise/error-1.png)
 3. 单击页面最下方的 **更新**，结束更改。

### CONNECTOR-SIKA-{type}-001205

**错误等级：** FATAL

**错误信息：** No entry found for connection

**错误原因：** Connector 无法连接到 kafka。

1. 可能是使用 Docker 安装的 Kafka，读取到的本机域名并非 IP 导致 Kafka 注册网络地址到 ZK 中出错。
 2. 如果 Kafka 是多副本，且 server 使用的是域名连通，可能是因为该域名在 OMS 连通比较少的机器。

**解决方案：**

1. 可以尝试设置 Kafka Server 的配置项。

      1. `advertised.listeners=PLAINTEXT://{kafkaIp}:9092`
      2. `listeners=PLAINTEXT://{kafkaIp}:9092`
 2. 重启 Kafka Server。

解决方案验证：在 OMS 机器上通过 kafka 自带的 producer 脚本测试是否能成功写消息到 kafka-server。

`./kafka-console-producer.sh --topic 测试topic --bootstrap-server 连接的kafkaserver`

在弹出的框中尝试输出一些测试消息成功即可。

### CONNECTOR-SIKA-{type}-001301

**错误等级：** FATAL

**错误信息：** RecordTooLargeException

**错误原因：** 消息太大超过 Kafka Server 限制。

**解决方案：**

如果是 Server 限制需要重启 Kafka Server 解决。

1. 默认 client 是 1G，一般情况不会超出，如果超出可以配置 `max.request.size`，单位 bytes，然后重启 connector。
 2. kafka server 需要配置 `message.max.bytes` 参数，单位 bytes，如果没有配置默认是 1M，**需要重启 kafka server。**

   具体如何判断需要更改的大小需要依赖同步的表本身最大的行数据量来看，推荐在最大数据量的基础上 * 2 (UPDATE 需要更新前镜像与后镜像，是正常一行大小的两倍)。

跳过该错误的方法（需要是 OMS V3.4.0）：增加配置项 `skipErrorCode`跳过该错误 ErrorCode 即可。

![error-2](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/oms/oms-enterprise/error-2.png)

### CONNECTOR-SIMS00000000

**错误等级：** FATAL

**错误信息：** 数据库客户端执行超时，The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

**错误原因：** 客户端执行 DML 超时，默认参数是50000ms，及 SQL 语句执行时间超过 50000ms，客户端会终止此 SQL 的执行。|

**解决方案：**

1. 登录 OMS 控制台。
 2. 在左侧导航栏，单击 **数据迁移**。
 3. 在 **数据迁移** 页面，单击目标数据迁移任务的名称，进入详情页面。
 4. 单击页面右上角的 **查看组件监控**。
 5. 单击更新按钮后，找到 `config_url` 配置项，修改其中的 `socketTimeout` 参数，将数值调大。

### CONNECTOR-SIOM00000000

**错误等级：** FATAL

**错误原因：** 客户端执行 DML 超时，默认参数是50000ms，及 SQL 语句执行时间超过50000ms，客户端会终止此 SQL 的执行。

**解决方案：**

### CONNECTOR-SIOM01000000

**错误等级：** FATAL

**错误原因：** 客户端执行 DDL 超时，默认参数是50000ms，及 SQL 语句执行时间超过50000ms，客户端会终止此 SQL 的执行。

**解决方案：**

### CONNECTOR-SOOO00000001

**错误等级：** FATAL

**错误信息：** 全量迁移存在异常表

**错误原因：** 全量迁移过程中有部分表对象出现异常 **解决方案：** 请点击查看详情，定位具体表对象的错误原因

### CONNECTOR-SIOM01123500

**错误等级：** FATAL

**错误信息：** Alter charset or collation type not supported

**错误原因：** OceanBase 数据库不支持修改列的字符集/字符序

**解决方案：** 请联系 OMS 技术支持人员。

### CONNECTOR-SIOM01123501

**错误等级：** FATAL

**错误信息：** Decrease scale of timestamp type not supported

**错误原因：** OceanBase 数据库不支持缩小时间类型字段的精度

## Supervisor 错误码

### SUPERVISOR-CMADIE020101

**错误等级：** ERROR

**错误信息：** ShellCommand execute command: {command} Timeout.

**错误原因：** 脚本命令执行超时。

### SUPERVISOR-CMADIE020102

**错误等级：** ERROR

**错误信息：** ShellCommand execute failed, Ret: {exitCode}.

**错误原因：** 脚本命令执行失败。

### SUPERVISOR-CMADIE020201

**错误等级：** ERROR

**错误信息：** ReadFileCommand execute failed, Ret: {exception message}.

**错误原因：** 文件读取失败。

### SUPERVISOR-CMADIE020202

**错误等级：** ERROR

**错误信息：** WriteFileCommand execute failed, Ret: {exception message}

**错误原因：** 文件写入失败。

### SUPERVISOR-CMADIE020203

**错误等级：** ERROR

**错误信息：** Illegal Path: {path}

**错误原因：** 尝试向禁止写入的目录写入文件，导致写入失败。

### SUPERVISOR-CMADIE020204

**错误等级：** ERROR

**错误信息：** Null or empty DYNAMIC_PORT args

**错误原因：** DYNAMIC_PORT 占位符参数为空。

### SUPERVISOR-CMADIE020205

**错误等级：** ERROR

**错误信息：** Failed, Unsupported Placeholder: {placeholder}

**错误原因：** 不支持的占位符类型。

### SUPERVISOR-CMADIE020206

**错误等级：** ERROR

**错误信息：** Failed to allocate dynamic port

**错误原因：** 没有获取到可用的动态端口。

### SUPERVISOR-CMADIE020207

**错误等级：** ERROR

**错误信息：** Unsupported file syntax

**错误原因：** 不支持的文件类型。

### SUPERVISOR-CMADIE020208

**错误等级：** ERROR

**错误信息：** Null or empty Json parser args

**错误原因：** JSON 的解析参数为空。

**错误信息：** Invoke DeleteFileCmd, delete file: {file fullname} failed

**错误原因：** 删除文件失败。

### SUPERVISOR-CMADIE020301

**错误等级：** ERROR

**错误信息：** SqlCommand execute failed with sql: {sqls} and exception: {exception message}

**错误原因：** 执行 SQL 命令失败。

### SUPERVISOR-CMADIE020401

**错误等级：** ERROR

**错误信息：** Empty tables or views

**错误原因：** DBCat 请求的 Table 或 View 参数为空。

### SUPERVISOR-CMADIE020403

**错误等级：** ERROR

**错误信息：** Invalid byteUsedType: {byteUsedType} / None requireFields

**错误原因：** DBCat 命令参数不合法。

### SUPERVISOR-CMADIE020404

**错误等级：** ERROR

**错误信息：** Dbcat fetch DDL failed, with exception {exception message}

**错误原因：** DBCat 获取 DDL 出错。

### SUPERVISOR-CMADIE020405

**错误等级：** ERROR

**错误信息：** Dbcat query dependency failed, with exception {exception message}

**错误原因：** DBCat 查询迁移对象依赖元数据出错。

### SUPERVISOR-CMADIE020501

**错误等级：** ERROR

**错误信息：** Invalid input key

**错误原因：** 输入的 Key 无效。

### SUPERVISOR-CMADIE020503

**错误等级：** ERROR

**错误信息：** Unsupported report type

**错误原因：** 不支持的汇报方式。

### SUPERVISOR-CMADIE020601

**错误等级：** ERROR

**错误信息：** InvokeFuncCommand failed with exception {exception message}.

**错误原因：** 执行函数失败。

### SUPERVISOR-CMADIE020602

**错误等级：** ERROR

**错误信息：** InvokeFuncCommand unsupported func: {func name}

**错误原因：** 不支持的函数类型。

### SUPERVISOR-CMADIE020603

**错误等级：** ERROR

**错误信息：** InvokeFuncCommand timeout with exception: {exception message}

**错误原因：** 执行函数超时。

### SUPERVISOR-CMADIE020605

**错误等级：** ERROR

**错误信息：** InvokeFuncCommand fetch message fail with exception: {exception message}

**错误原因：** 获取 Message 失败。

### SUPERVISOR-CMADIE020606

**错误等级：** ERROR

**错误信息：** InvokeFuncCommand failed to init datahub client with exception: {exception message}

**错误原因：** 初始化 DataHub 客户端失败。

### SUPERVISOR-CMADIE020701

**错误等级：** ERROR

**错误信息：** Failed to get process alive job

**错误原因：** 主动拉取心跳失败。

### SUPERVISOR-CMADIE020702

**错误等级：** ERROR

**错误信息：** Failed to fetch result of task: {taskId}

**错误原因：** 主动拉取任务的结果失败。|

### SUPERVISOR-CMADIE020703

**错误等级：** ERROR

**错误信息：** Failed to fetch errors of task: {taskId}

**错误原因：** 主动拉取错误信息失败。

### SUPERVISOR-CMADIE020704

**错误等级：** ERROR

**错误信息：** There is no error message to fetch now for task: {taskId}

**错误原因：** 相应任务不具有错误信息。

### SUPERVISOR-CMADIE020705

**错误等级：** ERROR

**错误信息：** FetchReportCommand unsupported report type: {report type}

**错误原因：** 不支持的拉取方式，非心跳、任务、错误信息。

## Store 错误码

### STORE-MYSQL-MODEL-EXTRA-000001

**错误等级：** FATAL

**错误信息：** 在 MySQL binlog 文件中查找 Store 启动时间戳 {timestamp} 失败。

**错误原因：** 查找的时间戳 {timestamp} 小于第一个 binlog 文件 {binlogFile} 中的最小时间戳 {minBinlogTimestamp}。

**解决方案：** 确保 Store 启动时间戳 {timestamp} >= MySQL Binlog 最小时间戳 {minBinlogTimestamp}。

### STORE-MYSQL-MODEL-EXTRA-000002

**错误等级：** FATAL

**错误信息：** 解析 binlog event {fileName}:{fileOffset} 失败: table {table}, event type {eventType}

**错误原因：** 在 Store 初始化过程中，{table} 有过 drop table 操作。

**解决方案：** 如果是新建链路，请保证 MySQL 端无 DDL 操作后重建链路。其它情况请联系 OMS 技术支持人员。

### STORE-MYSQL-MODEL-EXTRA-000100

**错误等级：** FATAL

**错误信息：** 读取 binlog 数据包时出错。

**错误原因：** 读取 binlog 数据包时发生错误：{errorMsg}。

### STORE-MYSQL-MODEL-EXTRA-000101

**错误等级：** FATAL

**错误信息：** 解析 DML 事件失败。

**错误原因：** 解析 DML 事件时，无法找到 tableMapData 信息。表 ID：{tableId}，binlog 位置：{position}。

### STORE-MYSQL-MODEL-EXTRA-000102

**错误等级：** FATAL

**错误原因：** 解析 DML 事件时，无法找到 Table 信息。表名：{tableName}，binlog 位置：{position}。

### STORE-MYSQL-MODEL-EXTRA-000103

**错误等级：** FATAL

**错误原因：** 解析 DML 事件的行数据时出错：{errorMsg}，binlog 位置：{position}。

### STORE-MYSQL-MODEL-EXTRA-000104

**错误等级：** FATAL

**错误信息：** 无法处理 XA_ROLLBACK 事件。

**错误原因：** 遇到无法支持的 XA_ROLLBACK 事件，binlog 位置：{position}。

**解决方案：** 通过配置 [{proposalOption}] 来忽略 XA_ROLLBACK 事件（可能导致数据不一致）或者联系 OMS 技术支持人员。

### STORE-MYSQL-MODEL-EXTRA-000105

**错误等级：** FATAL

**错误信息：** 解析 DDL 事件时出错。

**错误原因：** 处理 DDL {ddl} 时出错，信息：{errorMsg}，binlog 位置：{position}。

### STORE-MYSQL-MODEL-EXTRA-000106

**错误等级：** FATAL

**错误信息：** 定位 binlog 拉取起点失败。

**错误原因：** 定位 binlog 拉取起点失败，错误信息： {errorMsg}，原因：{errorCause}。

**解决方案：** 请根据错误信息自行排查原因。如果无法解决，请联系 OMS 技术支持人员。

### STORE-MYSQL-MODEL-EXTRA-000107

**错误等级：** WARNING

**错误信息：** 获取 binlog 数据包的连接上没有数据流入。

**错误原因：** 获取 binlog 数据包的连接 {connection} 读空闲 {idleTime}s，连接是否有效？{active}。

**解决方案：** 请确保源端 MySQL 的 binlog 文件已经更新并且迁移实例至源端 MySQL 的网络正常。

### STORE-MYSQL-MODEL-EXTRA-000108

**错误等级：** FATAL

**错误信息：** 在获取初始化表结构过程中发生了 DDL。

**错误原因：** 在获取初始化表结构过程中发生了 DDL {ddl}，位置：{ddlPosition}，初始化起点：{initialPosition}。

### STORE-ORACLE-MODEL-EXTRA-000001

**错误等级：** FATAL

**错误信息：** Oracle 日志文件不存在。

**错误原因：** Oracle 实例 {instance} 上不存在包含 {timestamp_or_scn_key} {timestamp_or_scn_value} 的日志文件。

**解决方案：** Oracle 上恢复对应的日志文件或者重建迁移任务。

### STORE-ORACLE-MODEL-EXTRA-000002

**错误等级：** FATAL

**错误信息：** Schema/Table/Column 名称不能超过 30 个字节。

**错误原因：** Schema 名称不能超过 30 个字节，超过的名称：{schema_names}。Table 名称不能超过 30 个字节，超过的名称：{table_names}。Column 名称不能超过 30 个字节，超过的名称：{column_names}。

**解决方案：**

1. 如果这些表可以不迁移，则将其放到 Oracle Store 配置 deliver2store.logminer.full_table_name_black_list 中。
 2. 如果这些表必须迁移，则执行下述步骤：

      1. 以 SYS 账号修改 Oracle 数据库的参数。

        ```sql
        ALTER SYSTEM SET ENABLE_GOLDENGATE_REPLICATION=true SCOPE=BOTH;

        ```

        #### 注意

             - 修改 `ENABLE_GOLDENGATE_REPLICATION` 参数时，Oracle 数据库需要具备 OGG License（无需安装 OGG）。
             - 如果是 Oracle RAC，则所有的 Oracle 实例均需要修改。该操作无需重启 Oracle 数据库。
             - 如果是拉取 ADG 备库的数据，您需要在 ADG 源库设置。
      2. 对于每个 Oracle 实例交替的执行 3 次下述命令。

        ```sql
        ALTER SYSTEM SWITCH LOGFILE;

        ```
      3. 10 分钟后，重新创建数据迁移任务。
      4. 修改 Oracle Store 的配置 deliver2store.logminer.need_check_object_length 为 false。

### STORE-ORACLE-MODEL-EXTRA-000003

**错误等级：** FATAL

**错误信息：** 如果允许数据不一致（例如只是测试），您可以修改 Oracle Store 的配置 deliver2store.logminer.enable_check_ddl_cause_row_move 为 false。否则请将这张表加入到 Oracle Store 的配置 deliver2store.logminer.full_table_name_black_list 中或者重建迁移链路。

**错误原因：** Table:{table}, DDL:{DDL} 可能导致行迁移。Oracle 上不允许执行该 DDL，因为可能导致迁移后数据不一致。

**解决方案：** 如果允许数据不一致（例如只是测试），您可以修改 Oracle Store 的配置 deliver2store.logminer.enable_check_ddl_cause_row_move 为 false。否则请将这张表加入到 Oracle Store 的配置 deliver2store.logminer.full_table_name_black_list 中或者重建迁移链路。

## Verification 错误码

### VERIFIER-PREP01000001

**错误等级：** ERROR

**错误信息：** 校验预检查失败。

**错误原因：** 切片索引匹配失败。

**解决方案：** 不支持该表数据校验，请联系技术支持人员将不支持表拉黑后恢复校验任务。

### VERIFIER-PREP01000002

**错误等级：** ERROR

**错误原因：** 源端、目标端唯一键索引定义不一致。

### VERIFIER-PREP01000003

**错误等级：** ERROR

**错误原因：** 源端列在目标端表中不存在。

### VERIFIER-PREP01000004

**错误等级：** ERROR

**错误原因：** 查询目标端表元信息超时。

**解决方案：** 请联系技术支持人员。

### VERIFIER-PREP01000005

**错误等级：** ERROR

**错误原因：** 源端表中存在不支持的列名 `OMS_PK_INCRMT`。

**解决方案：** 评估删除源端 `OMS_PK_INCRMT` 列的影响。如果可以删除，请在源端表中删除该列后恢复校验任务；如果不能删除，请联系技术支持人员将该表拉黑后恢复校验任务。

### VERIFIER-PREP01000006

**错误等级：** ERROR

**错误原因：** 不支持源端无主键表，目标端无隐藏列数据校验。

**解决方案：** 请联系技术支持人员将不支持表拉黑后恢复校验任务。

### VERIFIER-PREP01000007

**错误等级：** ERROR

**错误原因：** 目标端表的列在源端表不存在。

**解决方案：** 查看源端和目标端的表结构，将源端在目标端不存在的列添加后恢复校验任务。

### VERIFIER-PREP01000008

**错误等级：** ERROR

**错误原因：** 源端无主键表，目标端无隐藏列。

### VERIFIER-PREP01000009

**错误等级：** ERROR

**错误原因：** 源端无主键表，目标端隐藏列上无唯一键。

### VERIFIER-PREP01000010

**错误等级：** ERROR

**错误原因：** 源端无主键/唯一键表，不使用隐藏列不支持校验。

**解决方案：** 在源端、目标端增加主键，或打开使用隐藏列配置 `task.verify.split.useInvisibleColumn`。

### VERIFIER-PREP01000011

**错误等级：** ERROR

**错误原因：** 用户指定索引无法正确匹配。

**解决方案：** 检查指定索引配置，或将该表拉黑后恢复校验任务。

### VERIFIER-SDRM02000001

**错误等级：** ERROR

**错误信息：** 校验异常。

**错误原因：** 数据库查询数据超时。

**解决方案：** 请联系技术支持人员排查数据库查询超时原因。

### VERIFIER-SDRM02000002

**错误等级：** ERROR

**错误原因：** 数据库查询导致程序 OOM。

**解决方案：** 请联系技术支持人员排查数据校验异常原因。

### VERIFIER-SDRM02000003

**错误等级：** ERROR

**错误原因：** 该表校验结果不一致行记录数超过 OMS 设置的阈值。

**解决方案：** 请更新参数 `limitator.table.diff.max` 后，再次启动校验任务。

### VERIFIER-SOGE99000001

**错误等级：** ERROR

**错误信息：** 未知错误。

**错误原因：** 不支持该表数据校验。

**解决方案：** 请移除该表，或联系技术支持人员排查具体原因。

 上一篇 下一篇 ![有帮助](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) 咨询热线
