---
title: 集群 DDL 全部 hung 住无法执行-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于集群 DDL 全部 hung 住无法执行相关的常见问题和使用技巧，帮助您快速解决集群 DDL 全部 hung 住无法执行的难题。
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

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

划线反馈

# 集群 DDL 全部 hung 住无法执行

更新时间：2026-08-25 02:41

适用版本： V4.0.x、V4.1.x、V4.2.x、V4.3.x、V4.4.x 内容类型：Troubleshoot  

## 问题现象

用户执行 DDL 操作时出现卡顿，所有会话中的 DDL 操作均被阻塞。

## 问题原因

OceanBase 集群的 DDL 执行采用并行与串行相结合的模式：

- 并行 DDL 会获取 Schema 对象锁的读锁，可以并行执行。
 - 串行 DDL 会获取 Schema 对象锁的写锁，需要串行执行。

为了保证在持续不断的并行 DDL 操作下，串行 DDL 不会被“饿死”，系统对 Schema 对象锁实现了写锁阻碍读锁的机制。具体表现为：当一个线程正在等待获取写锁时，后续所有尝试获取读锁的线程都必须等待该写锁线程成功获取锁并执行完成后，才能继续获取读锁。

因此，如果集群中有一个 DDL 操作因未知原因卡住，随后又发起了一个串行 DDL 任务，该串行 DDL 会尝试获取写锁。根据上述机制，后续所有尝试获取读锁（即发起并行 DDL）的线程都将被阻塞，最终可能导致整个集群的 DDL 操作全部卡住，无法继续执行。

## 关键信息

- **日志定位**：从 RootService 日志中，可以观察到后续被卡住的 DDL 操作中包含串行 DDL。
 - **阻塞点**：所有被卡住的 DDL 操作，其堆栈信息均显示在尝试获取 DDL 锁（`try to get ddl lock`）处停滞。

## 问题的风险及影响

集群内所有 DDL 操作被挂起（hung），无法执行。

## 适用版本

OceanBase 数据库 4.x 版本。

## 解决方法

需要定位并解决最初导致卡住的 DDL 操作（即问题根源）。必须使该 DDL 操作成功执行或失败回滚后，后续被阻塞的 DDL 任务才能继续执行。

## 规避方式

需要定位并解决最初导致卡住的 DDL 操作（即问题根源）。必须使该 DDL 操作成功执行或失败回滚后，后续被阻塞的 DDL 任务才能继续执行。

Previous

[4.3.5.3 升级至 4.4.2 后查询 all_tab_columns 系统视图结果顺序不一致](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000006871397)

Next

[动态分区管理机制与使用指南](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000006418184) ![有帮助](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) 咨询热线
