---
title: "错误码 | OceanBase 文档中心"
description: "错误码 本文总结了使用 OBD 过程中可能会遇到的相关报错，主要包括以下几个方面。 通用报错 OBD-1000：Configuration conflict x.x.x.x: xxx port is used for x.x.x.x 错误原因：配置文件中存在端口冲突。 解决方法：根据部署方法的不同有如下两种解决方法。…"
---
切换语言

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

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*Qq8pT6yBPTcAAAAAAAAAAAAADiGDAQ/original) 安装部署工具 OBDV 2.3.0 社区版

# 错误码

更新时间：2026-04-14 17:50:46

[编辑](https://github.com/oceanbase/obd-doc/edit/V2.3.0/zh-CN/1100.error-messages-in-obd.md)  

本文总结了使用 OBD 过程中可能会遇到的相关报错，主要包括以下几个方面。

## 通用报错

### OBD-1000：Configuration conflict x.x.x.x: xxx port is used for x.x.x.x

错误原因：配置文件中存在端口冲突。

解决方法：根据部署方法的不同有如下两种解决方法。

- 命令行部署时，您可使用 `obd cluster edit-config <deploy name>` 命令打开配置文件，查看端口配置并进行修改，保存后执行命令行中输出的命令使修改生效。
 - 图形化界面部署时，您可单击 **上一步**，在 **集群配置** 页面找到报错中的端口并修改。

### OBD-1001：x.x.x.x:xxx port is already used

错误原因：端口已经被占用。

#### 说明

各个组件的端口配置项以及默认端口号可参考 [【SOP 系列 20】OceanBase 服务端进程 & 生态产品默认端口号](https://ask.oceanbase.com/t/topic/35603118)。

解决方法：您可选择结束该端口的进程，或更换为未被占用的端口。您可根据自身情况选择以下任一方式更换端口。

- 方法一：若您使用配置文件部署，可使用 `obd cluster edit-config <deploy name>` 命令打开配置文件并修改配置文件中对应的端口配置。修改完成后继续执行 `obd cluster start` 命令启动即可。

  #### 说明

  方法一中提到的命令详细介绍可参考 [集群命令组](https://www.oceanbase.com/docs/community-obd-cn-1000000000197051)。
 - 方法二：若您使用 `obd demo` 命令部署，可通过如下命令指定端口，此处以指定 oceanbase-ce 组件的 mysql_port 为例。

  ```shell
  obd demo --oceanbase-ce.mysql_port=3881

  ```

  #### 说明

  方法二中提到的命令详细介绍可参考 [快速部署命令](https://www.oceanbase.com/docs/community-obd-cn-1000000000197048)。
 - 方法三：若您通过 OBD 白屏界面部署，可单击 **上一步** 直到找到报错中对应的端口，并修改为未被占用的端口。

### OBD-1002：Fail to init x.x.x.x path

错误原因：有如下两种可能原因，您可根据报错的具体信息进行判断。

1. 配置文件中的 user 用户（未填的情况下默认为当前用户）没有对应目录的写权限。
 2. home_path 不为空。

解决方法：

对于情况 1，您可通过以下两种方式解决。

- 使用 `obd cluster edit-config <deploy name>` 命令打开配置文件，添加或修改配置文件中的 user 信息，保存后执行命令行中输出的命令使修改生效。
 - 登陆到目标机器，为当前账号赋予对应目录的写权限。

对于情况 2，您也可通过以下两种方式解决。

- 选择其他目录。
 - 若您确认该目录可以被清空，也可使用 `-f` 选项，OBD 将会使用当前用户去清空该目录。

### OBD-1003：fail to clean x.x.x.x:xxx

错误原因：检查配置文件中的 user 用户（未填的情况下默认为当前用户）是否有 home_path 的写权限。

解决方法：您可通过以下两种方式解决。

### OBD-1004：Configuration conflict x.x.x.x: xxx is used for x.x.x.x

错误原因：配置文件中存在路径冲突。

解决方法：请您检查配置并进行修改。

### OBD-1005：Some of the servers in the cluster have been stopped

错误原因：后续的操作需要所有的机器的服务全部在线，而当前配置内的部分机器已经停止。

解决方法：您可使用 `obd cluster start <deploy_name> --wop` 无参启动，将全部的服务拉起。

### OBD-1006：Failed to connect to xxx

错误原因：

1. OBD 和目标机器之间网络不连通。
 2. 对应的组件进程已经退出或者不提供服务。
 3. 账号密码不匹配。

解决办法：

对于情况 1，请自行修复网络。

对于情况 2，可尝试再次启动组件，如果依旧启动失败，请参考启动失败的错误进行排查，如 **OBD-2002**。

对于情况 3，常见原因是用户直接执行 SQL 命令修改了密码，账号密码与配置文件中存储的不同导致 OBD 连接不到组件。该种情况下有以下两种解决办法。

1. 执行 SQL 命令将密码改回与 OBD 储存的密码一致。
 2. 执行 `vi ~/.obd/cluster/<deploy name>/config.yaml` 修改对应的密码使其与组件中实际密码一致。

### OBD-1007：(x.x.x.x) xxx must not be less than xxx (Current value: xxx)

错误原因：ulimits 配置不满足要求。

解决办法：可通过修改 `/etc/security/limits.d/` 目录下对应文件和 `/etc/security/limits.conf` 使其满足要求。

### OBD-1008：(x.x.x.x) failed to get fs.aio-max-nr and fs.aio-nr

错误原因：OBD 获取不到服务器上 aio 配置。

解决办法：请检查当前用户是否有权限查看 fs.aio-max-nr/fs.aio-nr。

```bash
cat /proc/sys/fs/aio-max-nr /proc/sys/fs/aio-nr

```

### OBD-1009：x.x.x.x xxx need config: xxx

错误原因：服务相关组件缺少对应配置。

解决办法：使用 `obd cluster edit-config <deploy name>` 命令打开配置文件，并在配置文件中添加所提示的配置项，保存后执行命令行中输出的命令使修改生效。

### OBD-1010：x.x.x.x No such net interface: xxx

错误原因：OBD 获取不到 devname。

解决办法：根据部署方法的不同，有如下两种解决方法。

- 命令行部署时，执行 `obd cluster edit-config <deploy_name>` 命令打开配置文件，在配置文件中添加或修改 `devname`，保存后执行命令行中输出的命令使修改生效。
 - 图形化界面部署时，可单击 **上一步**，在 **集群配置** 页面打开 **集群配置** 中的 **更多配置**，设置 devname。

### OBD-1011：(x.x.x.x) Insufficient AIO remaining (Avail: xxx, Need: xxx), The recommended value of fs.aio-max-nr is 1048576

错误原因：系统可用 aio 数量少于数据库需要的 aio 数量。

解决办法：执行如下命令修改 linux aio-max-nr。

```bash
sudo sysctl fs.aio-max-nr=1048576

```

### OBD-1012：xxx

错误原因：

1. 类型转换异常，如 int 型参数传入字符串。
 2. 参数值超限，如 `rpc_port` 的取值区间是 1025~65535，则 `rpc_port` 配置的值不在该区间就会报错。
 3. 参数缺失，如关键参数如 `home_path` 未配置。

解决办法：

对于情况 1，请您检查参数类型并修改。

对于情况 2，请您检查传参值并修改。

对于情况 3，请您检查传参配置，若存在参数缺失需配置对应参数。

### OBD-1013：xxx@x.x.x.x connect failed: xxx

错误原因：出现该报错的原因有很多，常见的原因有以下两种。

1. 用户名或密码错误。
 2. 连接超时。

解决办法：您可手动通过 SSH 命令连接对应机器，验证连接信息是否正确。

- 若无法连接，您需排查连接信息正确性，以及服务器相应配置。
 - 若连接成功，您需修改配置的连接信息，根据部署方法的不同，有如下两种修改方法。

     - 命令行部署时，执行 `obd cluster edit-config <deploy_name>` 命令打开配置文件，在配置文件中添加或修改 `user` 部分配置，保存后执行命令行中输出的命令使修改生效。
     - 图形化界面部署时，可单击 **上一步**，在 **节点配置** 页面修改 **部署用户配置** 模块信息。

若排查处理后仍然无法部署成功，您可到官网 [问答区](https://ask.oceanbase.com/) 进行提问，会有专业人员为您解答。

### OBD-1015：Unable to confirm the primary-standby relationship, rerun with "--ignore-standby" option if you want to proceed despite the risks

错误原因：当前操作涉及到的集群或租户曾有主备关系，但执行命令过程中校验是否存在主备关系时出现异常，无法确认。

解决办法：您需确认当前集群或租户是否在其他集群上存在备租户，根据集群是否可用有如下两种检测方法。

- 当前集群可用时，您可执行如下命令查看是否存在备租户，此处以集群名为 test 为例。

  ```shell
  obd cluster tenant show test -g

  ```
 - 当前集群不可用时，您可执行如下命令查看当前集群或租户有哪些主备关联关系，此处以集群名为 test 为例。

  ```shell
  cat ~/.obd/cluster/test/inner_config.yaml

  ```

  根据文件输出，到对应的集群上执行如下命令查看主备关系是否仍存在，此处以对应集群名为 test-standby 为例。

  ```shell
  obd cluster tenant show test-standby -g

  ```

结合检测结果以及当前操作，有如下几种处理方法。处理方法中涉及到命令详细用法可参见 [集群命令组](https://www.oceanbase.com/docs/community-obd-cn-1000000000197051) 中对应命令介绍。

- 当前操作为升级操作且当前集群或租户存在备租户，因备租户的版本不得低于主租户，您可先升级备租户后再升级主租户。若当前集群中既存在主租户又存在备租户，您可先执行 switchover 操作（`obd cluster tenant switchover`）将集群中的主租户切换为备租户，待主备租户所在集群均升级完成后再次执行 switchover 操作切换回来。

  #### 说明

  若当前集群为同版本升级，可直接重新执行命令，并在命令后添加 `--ignore-standby` 选项来跳过检查。
 - 当前操作非升级操作（destroy/redeploy/drop）且当前集群或租户存在备租户，您可参考如下几种解决方法解除主备关系。

     - 对备租户执行解耦操作（`obd cluster tenant decouple`），备租户将独立为主租户。
     - 先对主租户所在集群执行 `obd cluster stop` 命令停止集群，再对备租户执行 Failover 操作（`obd cluster tenant failover`），备租户将独立为主租户。
     - 对备租户执行 `obd cluster tenant drop` 命令，备租户将被删除。
 - 当前集群或租户不存在备租户，或您可以接受备租户不可用的风险，可重新执行命令，并加上 `--ignore-standby` 选项来跳过检查。

## OceanBase 部署相关报错

### OBD-2000：x.x.x.x not enough memory

错误原因：内存不足。

解决方法：OBD 的启动严格按照 MemAvailable 来计算内存。如果存在可以释放的 cached，您可以先使用以下命令尝试释放。

```shell
sudo sysctl -w vm.drop_caches=1
# 或
sudo echo 1 > /proc/sys/vm/drop_caches

```

如果内存仍然不足请执行 `obd cluster edit-config <deploy name>` 命令打开配置文件，调整 `memory_limt` 和 `system_memory`，通常情况下 `memory_limt/3 ≤ system_memory ≤ memory_limt/2`。

#### 注意

- 部署 OceanBase 数据库 4.x 之前版本时，`memory_limt` 不能低于 8G，即您的可用内存必须大于等于 8G。
 - 部署 OceanBase 数据库 4.x 版本时，`memory_limt` 不能低于 6G，即您的可用内存必须大于等于 6G。

### OBD-2001：server can not migrate in

错误原因：可用的 Unit 数小于 `--unit-num`。

解决方法：请您修改传入的 `--unit-num`。您可使用以下命令查看当前可用的 Unit 数。

```sql
select count(*) num from oceanbase.__all_server where status = 'active' and start_service_time > 0

```

### OBD-2002：failed to start x.x.x.x observer

错误原因：出现该报错的原因有很多，常见的原因有以下两种。

- `memory_limit` 小于 8G。
 - `system_memory` 太大或太小。通常情况下 `memory_limt/3 ≤ system_memory ≤ memory_limt/2`。

解决方法：

- 若排查后发现该报错为上述两条原因造成，根据对应原因进行调整即可；
 - 若排查后发现不是由上述两条原因引起的报错，您可到官网 [问答区](https://ask.oceanbase.com/) 进行提问，会有专业人员为您解答。

### OBD-2003：not enough disk space for clog. Use redo_dir to set other disk for clog, or reduce the value of datafile_size

错误原因：磁盘使用率高于使用率要求。

- 若您采用的是自动部署方式，要求磁盘使用率不能高于 72%。
 - 若您采用的是手动部署的方式，在不更改配置的情况下，要求磁盘使用率不能高于 64%。

#### 注意

在 redo_dir 和 data_dir 同盘的情况下，计算磁盘使用率时会算上 datafile 将要占用的空间。

解决方法：请您对磁盘的存储进行调整，根据部署方式的不同有如下两种调整方法。

- 命令行部署时，您可使用 `obd cluster edit-config <deploy name>` 命令打开配置文件，修改磁盘相关的配置项（如 `datafile_size`、`memory_limit`、`log_disk_size`），保存后执行命令行中输出的命令使修改生效。
 - 图形化界面部署时，您可单击 **上一步**，在 **集群配置** 页面打开 **集群配置** 中的 **更多配置**，修改磁盘相关配置项（如 `datafile_size`、`memory_limit`、`log_disk_size`）。

### OBD-2004：Invalid: xxx is not a single server configuration item

错误原因：修改的配置项是一个全局配置项，不能对某个 server 单独修改。

解决方法：您可将需修改的配置改放到 global 下。

### OBD-2005：Failed to register cluster. xxx may have been registered in xxx

错误原因：注册集群失败，或者该集群已经被注册。

解决办法：您需先查看集群是否配置了 `appname` 配置项，未配置的情况下无法将集群注册到 obconfigserver 中。之后根据集群是否已部署分为如下两种情况。

- 情况一：若您想要注册到 obconfigserver 中的集群为待部署的 OceanBase 集群，请先注释 `obconfig_url` 配置项，启动集群后再执行 `obd cluster edit-config` 命令配置 `obconfig_url`。目前暂不支持将待部署集群注册到 obconfigserver 中。
 - 情况二：若您想要注册到 obconfigserver 中的集群为已成功启动的集群，可先确定配置项 `obconfig_url` 是否配置正确。

     - 若 `obconfig_url` 配置不正确，您可执行 `obd cluster edit-config` 命令打开配置文件，将正确的 Config URL 配置给配置项 `obconfig_url`。
     - 若您确认 `obconfig_url` 配置正确并希望强制覆盖，可在执行 `obd cluster start` 命令时加上 `-f` 参数覆盖已注册的集群。

### OBD-2006：x.x.x.x has more than one network interface. Please set `devname` for x.x.x.x

错误原因：机器具有多个网络接口，OBD 获取不到 devname。

### OBD-2007：x.x.x.x xxx fail to ping x.x.x.x. Please check configuration `devname`

错误原因：机器之间相互 ping 不通。

解决办法：

1. 检查各个节点网络是否畅通。
 2. 检查网络配置（`devname`）是否与实际匹配，可通过 `ip addr` 命令查看 IP 和网卡对应关系。不匹配的情况下根据部署方式的不同有如下两种修改方法。

### OBD-2008：Cluster clocks are out of sync

错误原因：集群之间时钟超时。

解决办法：同步各个服务器的时钟。

### OBD-2009：x.x.x.x: when production_mode is True, xxx can not be less then xxx

错误原因：当生产模式开启时，`__min_full_resource_pool_mem`、`memory_limit` 等配置项不能小于规定值。

解决办法：

- 部署非生产环境时，执行 `obd cluster edit-config <deploy_name>` 命令打开配置文件，修改配置项 `production_mode` 为 `False`，保存后执行命令行中输出的命令使修改生效。
 - 部署生产环境时， 执行 `obd cluster edit-config <deploy_name>` 命令打开配置文件，修改配置项 `__min_full_resource_pool_mem`、`memory_limit`，使其大于规定值，保存后执行命令行中输出的命令使修改生效。

### OBD-2010：x.x.x.x: system_memory too large. system_memory must be less than memory_limit/memory_limit_percentage

错误原因：配置项 `system_memory` 配置过大，该配置项值必须小于 `memory_limit` 或 `memory_limit_percentage` * `total_memory`。

解决办法：根据部署方式的不同有如下两种解决方法。

- 命令行部署时，可使用 `obd cluster edit-config <deploy name>` 命令打开配置文件，修改配置项 `system_memory`，保存后执行命令行中输出的命令使修改生效。
 - 图形化界面部署时，可单击 **上一步**，在 **集群配置** 页面打开 **集群配置** 中的 **更多配置**，设置 `system_memory`。

### OBD-2011：x.x.x.x: fail to get memory info.\nPlease configure 'memory_limit' manually in configuration file

错误原因：服务器获取不到内存信息。

- 命令行部署时，执行 `obd cluster edit-config <deploy_name>` 命令打开配置文件，配置 `memory_limit` 信息，保存后执行命令行中输出的命令使修改生效。
 - 图形化界面部署时，可单击 **上一步**，在 **集群配置** 页面打开 **集群配置** 中的 **更多配置**，设置 `memory_limit`。

## 测试相关报错

### OBD-3000：parse cmd failed

错误原因：mysqltest 初始化文件必须是以 `.sql` 结尾的 sql 文件。

解决方法：请您检查 `--init-sql-files` 的参数是否满足此要求。

### OBD-3001：xxx.sql not found

错误原因：mysqltest 初始化时找不到对应的初始化文件。

解决方法：请您检查 `--init-sql-dir` 目录下是否包含 `--init-sql-files` 声明的文件。

### OBD-3002：Failed to load data

错误原因：出现该报错的原因有很多，常见的原因有以下两种。

1. 租户资源不足或者压力过大。
 2. 数据构建脚本报错。

解决方法：

对于情况 1，可使用资源规格更大的租户，或者调整 warehouses、load-workers 等参数值以减少构建压力。

对于情况 2，由于数据构建脚本是由 TPC 官网提供，可以先尝试重新执行脚本，如果问题仍然存在请到官网 [问答区](https://ask.oceanbase.com/) 提问，会有专业人员为您解答。

### OBD-3003：Failed to run TPC-C benchmark

错误原因：

1. 测试进程卡死后因为超时被杀死。
 2. TPC-C 测试命令返回报错。

解决方法：

- 直接重新测试，或通过调整 terminals 等参数减少测试压力后重新测试。
 - 如果没有使用官网提供的 obtpcc 包，请使用 obtpcc 进行测试。

如果上述方法均无法解决问题，请到官网 [问答区](https://ask.oceanbase.com/) 提问，会有专业人员为您解答。

## OBAgent 相关报错

### OBD-4000：Fail to reload x.x.x.x

错误原因：该节点的 `http_basic_auth_password` 与 OBD 中存储的 `http_basic_auth_password` 不符，导致 OBD 不能正确的访问 obagent。

解决方法：若您确认二者相符，请检查此次修改的选项中是否包含了当前版本不支持的配置项或者配置项名称是否书写错误。

### OBD-4001：Fail to send config file to x.x.x.x

错误原因：出现该报错的原因有两点，请您依次进行检查。

- obagent home_path 磁盘空间是否充足。
 - 配置文件中的 user 用户（未填的情况下默认为当前用户）是否拥有 obagent home_path 的写权限。

- 运行 `obd cluster edit-config <deploy_name>` 命令添加或修改 user 信息，保存后执行命令行中输出的命令使修改生效。
 - 登陆到目标机器，为当前账号赋予对应目录的写权限。

## ODP 相关报错

### OBD-4100：x.x.x.x need config "rs_list" or "obproxy_config_server_url"

错误原因：服务器获取不到 rs_list/obproxy_config_server_url 信息。

解决办法：执行 `obd cluster edit-config <deploy_name>` 命令打开配置文件，添加或修改 `rs_list` 或 `obproxy_config_server_url` 配置项，保存后执行命令行中输出的命令使修改生效。

### OBD-4101：failed to start x.x.x.x obproxy: xxx

错误原因：启动 ODP 失败。

解决办法：需根据提示进一步分析。

## Grafana 相关报错

### OBD-4200：x.x.x.x grafana admin password should not be 'admin'

错误原因：grafana 组件 admin 用户的 password 不应该是 admin。

解决办法：执行 `obd cluster edit-config <deploy_name>` 命令打开配置文件，添加或修改 password 信息，保存后执行命令行中输出的命令使修改生效。

### OBD-4201：x.x.x.x grafana admin password length should not be less than 5

错误原因：grafana 组件 admin 用户的 password 长度不能小于 5 位。

## OCP Express 相关报错

### OBD-4300：x.x.x.x: failed to query java version, you may not have java installed

错误原因：OBD 获取不到服务器上 Java。

解决办法：

1. 安装 Java，详细步骤可参考 [常见问题](https://www.oceanbase.com/docs/community-obd-cn-1000000000197045) 中 **部署 OCP Express 前如何配置 Java 环境**。
 2. 如果 Java 已经安装，可以通过配置 `java_bin` 来指定 Java 可执行文件的路径。根据部署方式的不同有如下两种配置方法。

      - 命令行部署时，可使用 `obd cluster edit-config <deploy name>` 命令打开配置文件，修改配置文件中 `java_bin` 配置项为 Java 可执行文件路径，保存后执行命令行中输出的命令使修改生效。
      - 图形化界面部署时，可单击 **上一步**，在 **集群配置** 页面，打开 **组件配置** 中的 **更多配置**，修改 `java_bin` 配置项为 Java 可执行文件路径。

### OBD-4301：x.x.x.x: ocp-express need java with version xxx

错误原因：服务器上 Java 版本过低。

解决办法：安装提示版本的 Java，如果目标版本 Java 已经安装，可以通过配置 `java_bin` 来指定 Java 可执行文件的路径，具体方法可参见 **OBD-4300**。

### OBD-4302：x.x.x.x not enough memory. (Free: xxx, Need: xxx)

错误原因：服务器上没有足够内存

解决办法：分为以下几种解决方法。

- 若机器本身内存不足，可调小 `memory_size` 配置项的值，或更换其他内存足够的机器。根据部署方式的不同有如下两种调小 `memory_size` 配置项值的方法。

     - 命令行部署时，执行 `obd cluster edit-config <deploy name>` 命令打开配置文件，调小 `memory_size` 配置值，保存后执行命令行中输出的命令使修改生效。
     - 图形化界面部署时，可单击 **上一步**，在 **集群配置** 页面，打开 **集群配置** 中的 **更多配置**，减小 `memory_size` 配置项的值。
 - 若是机器剩余内存资源不足，如果存在可以释放的 cached，您可以先使用以下命令尝试释放。

  ```

### OBD-4303：x.x.x.x xxx not enough disk space. (Avail: xxx, Need: xxx)

错误原因：服务器磁盘没有足够的空间。

解决办法：请您自行检查并清理磁盘，或调小 `logging_file_total_size_cap` 配置项的值。根据部署方式的不同有如下两种调小 `logging_file_total_size_cap` 配置项值的方法。

- 命令行部署时，执行 `obd cluster edit-config <deploy name>` 命令打开配置文件，调小 `logging_file_total_size_cap` 配置值，保存后执行命令行中输出的命令使修改生效。
 - 图形化界面部署时，可单击 **上一步**，在 **集群配置** 页面，打开 **组件配置** 中的 **更多配置**，减小 `logging_file_total_size_cap` 配置项的值。

### OBD-4304：OCP express xxx needs to use xxx with version xxx or above

错误原因：部署 ocp-express 组件需要使用对应版本的组件。

解决办法：使用 `obd cluster edit-config <deploy name>` 命令打开配置文件，修改报错对应组件的版本（`version`），保存后执行命令行中输出的命令使修改生效。

### OBD-4305： There is not enough xxx for ocp meta tenant

错误原因：没有足够的日志磁盘、内存去创建 OCP meta 租户。

解决办法：您可尝试清理磁盘、内存后重试，或根据部署方式的不同参考如下两种方法修改相关配置项。

- 命令行部署时，如果配置了集群规格，可执行 `obd cluster edit-config <deploy name>` 命令打开配置文件，调大 `oceanbase-ce` 组件的相应配置项（例如内存相关配置项 `memory_limit`/`memory_limit_percentage`、日志盘相关配置项 `log_disk_size`/`log_disk_percentage`），或调小 `ocp_meta_tenant`->`memory_size` 配置项，保存后执行命令行中输出的命令使修改生效。
 - 图形化界面部署时，可单击 **上一步**，在 **集群配置** 页面，打开 **集群配置** 中的 **更多配置**，减小 `ocp_meta_tenant_memory_size` 配置项的值，或调大 `memory_limit` 和 `log_disk_size` 的值。

### OBD-4306: xxx ocp-express admin_passwd invalid

错误原因：OCP Express 登录页面的 admin 账号密码配置不合规。

解决办法：您可执行 `obd cluster edit-config` 命令打开对应配置文件，并修改 `admin_passwd` 配置项，该配置项复杂度需满足：长度为 8~32 位字符，支持字母、数字和特殊字符，且至少包含大、小写字母、数字和特殊字符各 2 位，支持的特殊字符为 ``~!@#%^&*_-+=`|(){}[]:;',.?/``。

#### 注意

该配置项修改后需执行 `obd cluster redeploy` 命令重启生效，该命令会销毁集群，重新部署，您集群中的数据会丢失，请先做好备份。

## Config Server 相关报错

### OBD-4401：Failed to start x.x.x.x ob-configserver

错误原因：

1. 原因一：Config Server 启动时，出现 Config Server 内部运行错误，服务终止运行。
 2. 原因二：目标部署服务器中，Config Server 的监听端口未开启，导致不能访问。

解决办法：您可登录目标部署服务器后，执行如下命令判断错误原因。

```shell
ps -ef | grep $home_path/bin/ob-configserver

```

`$home_path` 为配置的 Config Server 工作目录，如果输出中没有正在运行的 Config Server 进程，那么错误原因为原因一，反之则为原因二。

对于原因一，您可在 `$home_path/log/ob-configserver.log` 文件中查看错误信息关键字，多数情况为在使用 sqlite3 数据库类型的情况下 `connection_url` 配置错误，将相应错误配置修改正确即可。若排查后无法解决，您可到官网 [问答区](https://ask.oceanbase.com/) 进行提问，会有专业人员为您解答。

对于原因二，有以下两种解决办法。

- 若您使用的是云服务器，请登录相应云服务器进行服务器端口白名单添加。
 - 若您使用的是自行搭建的服务器，请根据相应操作系统版本开启端口监听。

### OBD-4402：x.x.x.x ob-configserver config error

错误原因：Config Server 相关配置检测到错误。

解决办法：您可根据具体描述，检查相应的配置项是否存在漏写或参数不合规等情况，有如下几种情况。

- 在使用 VIP 的情况下，`vip_address` 和 `vip_port` 是否一并设置使用。
 - `database_type` 和 `connection_url` 配置项是否均已配置（在使用 sqlite3 数据库类型的情况下，`connection_url` 可不配置）。
 - `database_type` 配置项是否配置正确，`database_type` 配置项仅支持取值为 `mysql` 或 `sqlite3`。
 - 在使用 sqlite3 数据库类型的情况下，`connection_url` 是否配置为绝对路径。

### OBD-4403：x.x.x.x: /xxxx/xxxx/xxxx: permission denied

错误原因：Config Server 在使用 sqlite3 作为数据库的情况，配置文件中的 user 用户（未配置的情况下默认为当前用户）没有 `connection_url` 配置中目录的写权限。

解决办法：您可通过以下两种办法解决。

- 运行如下命令打开配置文件，添加或修改 user 信息

  ```shell
  obd cluster edit-config <deploy name>

  ```

  修改保存后，您需根据输出的命令重启集群。
 - 登录到目标机器，为当前账号赋予对应目录的写权限

### OBD-4404：xxxxx: failed to connect to database: xxxx

错误原因：`database_type` 设置为 `mysql` 时，`connection_url` 中配置的数据库无法连接。

解决办法：验证 `connection_url` 中配置的数据库是否可以连接，若无法连接请更换为可连接的数据库。

## SQL 相关报错

### OBD-5000：sql execute failed

错误原因：SQL 执行失败。

解决办法：需根据具体情况确定解决办法。

## obdiag 相关报错

### OBD-6000: Failed to executable obdiag command, you may not have obdiag installed

错误原因：未安装 obdiag 组件。

解决办法：您可参考如下命令安装 obdiag 组件。

```shell
obd obdiag deploy

```

### OBD-6001: obdiag must contain depend components xxxx

错误原因：未安装 obdiag 所依赖的组件。OBD 上的 obdiag 服务于通过 OBD 部署的 OceanBase 或者 ODP 集群，在 OBD 未部署 OceanBase 或者 ODP 集群的情况下会报该错。

解决办法：安装 obdiag 依赖的组件，即 OBD 中至少注册有一个 OceanBase 或者 ODP 集群。您可通过 `obd cluster list` 命令查看当前 OBD 内注册的全部集群。

### OBD-6002: obdiag options xxx format error, please check the value : xxx

错误原因：obdiag 命令的参数值格式设置不符合要求。

解决办法：您可在对应命令后使用 `-h` 选项查看 obdiag 命令的参数要求，传入正确的 obdiag 参数格式，示例如下。

```shell
# example
obd obdiag gather -h

obd obdiag gather log -h

```

## 非预期报错

### OBD-9999: Unexpected exception: need to be posted on "https://ask.oceanbase.com", and we will help you resolve them

错误原因：操作过程中出现了非预期的异常。

解决方法：您可到官网 [问答区](https://ask.oceanbase.com/) 进行提问，会有专业人员为您解决。

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