---
title: OMS 宕机问题排查指南-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于 OMS 宕机问题排查指南相关的常见问题和使用技巧，帮助您快速解决 OMS 宕机问题排查指南的难题。
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

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

划线反馈

# OMS 宕机问题排查指南

更新时间：2023-12-19 09:16

适用版本： V4.2.x、V4.1.x、V4.0.x、V3.4.x、V3.3.x、V3.2.x 内容类型：How-to  

本文为您介绍当 OceanBase 迁移服务（OceanBase Migration Service，OMS）出现机器宕机时，如何进行排查与恢复。

## 适用版本

适用于 OMS V3.2.0 及之后版本。

## 问题描述

OMS 控制台的 **运维监控** > **机器** 页面显示机器 **宕机**，或者数据迁移/数据同步项目执行过程中遇到报错：`no enough host resource for XXX`。

## 可能原因

1. OMS 的 `config.yaml` 配置文件有误，或部署流程未完全完成（90% 问题场景属于此类）。
 2. OMS 常驻的管控进程意外退出。
 3. OMS 管控组件依赖的元数据库无法连接或不可用。

## 解决方法

#### 注意

开始排查前，您需要确保：

- 已仔细检查过 `config.yaml` 配置文件内容，尤其是 `cm_url`、`cm_nodes` 等参数。
 - 已在容器内执行 `bash /root/docker_init.sh`，完成初始化。
 - 已登录到 `config.yaml` 中 `drc_cm_db`、`drc_cm_heartbeat_db` 参数所指向的数据库。

1. 登录 OMS 控制台，在左侧导航栏单击 **运维监控** > **机器**，查询机器状态。

   如果状态显示为 **在线**，请检查机器实际资源使用情况，并通过停止、释放长期未使用的项目，以降低机器资源消耗。如果显示为 **宕机**，则继续往下排查。
 2. 在容器内查询 OMS 组件状态。

   登录 OMS 容器，执行 `supervisorctl status` 命令。如果 OMS 组件为非 `RUNNING` 状态, 则使用 `supervisorctl restart XXX` 重启该组件。否则继续往下排查。

   ```shell
   //查询 OMS 各组件状态
   supervisorctl status

   //重启 OMS 组件，组件范围：oms_console/oms_drc_cm/oms_drc_supervisor/nginx
   supervisorctl restart XXX

   ```
 3. 确认机器实际 IP 信息。

   登录 OMS 容器，执行 `hostname -i` 命令，验证该 IP 与机器实际 IP 是否一致。如果不一致，您可以通过 `env | grep OMS_HOST_IP` 确认启动 OMS 容器时，是否传入 `OMS_HOST_IP` 参数。否则继续往下排查。

   #### 注意

   如果是多节点部署模式，在启动各个 OMS 容器时，请确保每次传入的 `OMS_HOST_IP` 参数为当前机器实际 IP。而不能始终传入同一个 `OMS_HOST_IP` 值。

   ```shell
   //查询机器 IP 信息
   hostname -i

   //查询 OMS_HOST_IP 环境变量
   env | grep OMS_HOST_IP

   ```
 4. 登录 `config.yaml` 中 `drc_cm_db` 参数所指向数据库，查询机器信息 `host` 表。

   ```sql
   //查询 OMS 机器 IP 与状态
   SELECT ip,host_status FROM host;

   //示例
   MySQL [drc_cm_db]> SELECT ip,host_status FROM  host;
   +---------------+-------------+
   | ip            | host_status |
   +---------------+-------------+
   | 100.XX.XX.107 | ONLINE      |
   +---------------+-------------+

   ```

   验证表中 IP 与机器实际 IP 一致，且 `status` 为 `"ONLINE"`。如果不符合，请检查 `config.yaml` 中 `cm_nodes` 是否配置正确。否则继续往下排查。
 5. 登录 `config.yaml` 中 `drc_cm_heartbeat_db` 参数所指向数据库，查询机器心跳信息 `heart_beat` 表。

   ```sql
   //查询心跳库中，机器心跳情况
   SELECT task_type,host_ip,gmt_created,gmt_modified FROM heart_beat where task_name='supervisor';

   //示例
   MySQL [drc_cm_heartbeat_db]> SELECT task_type,host_ip,gmt_created,gmt_modified FROM heart_beat where task_name='supervisor';
   +------------+---------------+---------------------+---------------------+
   | task_type  | host_ip       | gmt_created         | gmt_modified        |
   +------------+---------------+---------------------+---------------------+
   | supervisor | 100.XX.XX.107 | 2022-04-11 17:23:43 | 2022-04-28 21:39:51 |
   +------------+---------------+---------------------+---------------------+

   ```

   验证表中 IP 与机器实际 IP 一致，且 `gmt_modified` 为当前时间。如果不符合，请参考第 3 步，检查启动当前 OMS 容器时是否传入正确的 `-e OMS_HOST_IP=实际 IP` 参数。

如果根据上述步骤排查后仍未恢复，请反馈上述查询结果至 OMS 值班人员帮助排查。

上一篇

[修改 OMS 容器的资源配额](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000234435)

下一篇

[OMS 追加部署 InfluxDB](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000234437) ![有帮助](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) 咨询热线
