---
title: 索引构建失败，如何确定失败原因？ -OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于索引构建失败，如何确定失败原因？ 相关的常见问题和使用技巧，帮助您快速解决索引构建失败，如何确定失败原因？ 的难题。
---
切换语言

- 简体中文
- English

划线反馈

# 索引构建失败，如何确定失败原因？

更新时间：2024-01-22 01:56

适用版本： V2.2.x、V3.1.x、V3.2.x 内容类型：Troubleshoot  

本文介绍索引创建失败之后，如何进行错误原因的排查以及如何解决。

首先根据 `oceanbase.__all_table` 表中的 `index_type` 字段判断索引的类型。其中字段值和索引类型如下。

| 索引类型 | 含义 |
| --- | --- |
| INDEX_TYPE_NORMAL_LOCAL | 局部普通索引 |
| INDEX_TYPE_UNIQUE_LOCAL | 局部唯一索引 |
| INDEX_TYPE_NORMAL_GLOBAL | 全局普通索引 |
| INDEX_TYPE_UNIQUE_GLOBAL | 全局唯一索引 |
| INDEX_TYPE_PRIMARY | 主键 |
| INDEX_TYPE_DOMAIN_CTXCAT | 全文索引 |
| INDEX_TYPE_NORMAL_GLOBAL_LOCAL_STORAGE | 局部存储的全局普通索引 |
| INDEX_TYPE_UNIQUE_GLOBAL_LOCAL_STORAGE | 局部存储的全局唯一索引 |

其中 `INDEX_TYPE_NORMAL_GLOBAL` 与 `INDEX_TYPE_UNIQUE_GLOBAL` 为全局索引，其他类型均为局部索引。

- 如果构建失败的是局部索引，则可以通过 `oceanbase.__all_local_index_status` 查询 `ret_code` 字段，确定错误码。
 - 如果构建失败的是全局索引，则需要在 RootService 所在的物理机查询 `ob_global_index_builder` 相关日志，查看具体的错误码与错误原因。

在索引构建过程中，有两个常见的错误码。

| 错误码 | 含义 | 处理方法 |
| --- | --- | --- |
| 4072 | 表示索引构建被取消 | 删除索引后重建索引 |
| 5024 | 表示唯一索引不满足唯一性约束 | 处理不满足唯一性约束的数据后重建索引，或者放弃构建唯一索引 |

如果确定索引构建失败可以通过重试来解决，则需要先删除已失败的索引，再重新创建索引。如果失败无法通过重试解决，请联系 OceanBase 技术支持。

Previous

[如何查询全局索引的创建进度](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000243972)

Next

[索引创建失败，错误码 5827](https://www.oceanbase.com/knowledge-base/oceanbase-database-20000000182) ![有帮助](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) 咨询热线
