---
title: OceanBase 数据库 V4.2.1 版本中创建索引失败报错 -4184 的原因和解决方法-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于OceanBase 数据库 V4.2.1 版本中创建索引失败报错 -4184 的原因和解决方法相关的常见问题和使用技巧，帮助您快速解决OceanBase 数据库 V4.2.1 版本中创建索引失败报错 -4184 的原因和解决方法的难题。
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

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

划线反馈

# OceanBase 数据库 V4.2.1 版本中创建索引失败报错 -4184 的原因和解决方法

更新时间：2026-05-22 08:56

适用版本： V4.2.x 内容类型：Troubleshoot  

## 问题现象

OceanBase 数据库 V4.2.1 版本在磁盘水位不高的情况下创建索引报错 `ORA-00600: internal error code, arguments: -4184, Server out of disk space`。

关键日志信息显示 `fail to write tmp block(ret=-4184`。

```shell
[2024-09-25 15:36:59.397481] WDIAG [STORAGE] wash_block (ob_tmp_file_cache.cpp:1347) [1059902][T1008_PX_G0][T1008][xxxxx-xxxxx-xxxxx-xxxxx] [lt=14][errcode=-4184] fail to write tmp block(ret=-4184, tenant_id=1008, info={block_id:29338802, offset:0, size:2064384, tenant_id:1008, macro_block_id:[9223372036854775807](ver=0,mode=0,seq=0), buf:0x7fa3870000f0, io_desc:{mode:"READ", group_id_:0, wait_event_id_:12, is_sync_:false, is_unlimited_:false, reserved_:0, is_detect_:false, is_time_detect_:false}}, *m_blk={buffer:0x7fa3870000f0, page_buddy:{page_nums:4{{start_page_id:248, end_page_id:252}}}, handle:{value:0x7fa3870000d8, inst_handle:{inst:{cache_id:11, tenant_id:1008, is_delete:false, status:{config:0x55b09dff0df0, kv_cnt:11566, store_size:6702153728, map_size:12478464, lru_mb_cnt:3220, lfu_mb_cnt:1, base_mb_score:"2.470328229206232721e-323", hold_size:0}, ref_cnt:753}}, kvpair:0x7fa3870000a8, handle:{mb_handle:0x7fbd5ab09af0}}, macro_block_handle:{macro_id:[9223372036854775807](ver=0,mode=0,seq=0), io_handle:{io_request:"NULL"}}, tmp_file_header:{version:1, magic:20720, block_id:29338802, dir_id:222591430, tenant_id:1008, free_page_nums:4}, io_desc:{mode:"READ", group_id_:0, wait_event_id_:12, is_sync_:false, is_unlimited_:false, reserved_:0, is_detect_:false, is_time_detect_:false}, block_status:1, is_inited:true, alloc_time:1727249812548696, access_time:1727249812599837})

```

如果出现如上关键日志，即可认为建索引期间写临时文件时空间不足。

## 问题原因

索引失败的原因为有一个节点磁盘空间快速被占满，建索引期间要写临时文件（需要进行文件排序）所需空间很大，甚至可以达到主表大小的数倍，建立索引期间磁盘占用膨胀，直到无法承载临时文件，导致创建失败。

执行过程中，主要是排序的中间结果落盘到临时文件占用空间大。而且 OceanBase 数据库 V4.x 版本比 V3.x 版本会膨胀更多，这是因为对于局部索引 V3.x 版本是逐个分区执行，而 V4.2.1 版本是整张表的放大收缩。在 V4.2.3 版本中引入了 DDL 路径上的数据压缩，可以较好的缓解此问题。

## 问题的风险及影响

创建索引失败，且期间磁盘空间快速上涨至停写水位（默认 90% ），此节点可能发生短暂停写或数据备份失败。

## 影响租户

影响 OceanBase 数据库中的 SYS 租户和 Oracle 租户以及 MySQL 租户。

## 适用版本

OceanBase 数据库 V4.2.1 GA（oceanbase-4.2.1.0-100000182023092722）版本。

## 解决方法及规避方式

- 解决方法：

  升级至问题已修复版本。目前已修复的版本包括 OceanBase 数据库 V4.2.3（oceanbase-4.2.3.0-100000052024041220）版本。
 - 规避方式：

  先对空表创建索引，创建索引完成后再导入数据。

Previous

[index skip scan 查询出现正确性问题](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000438796)

Next

[如何计算索引创建使用的临时空间大小](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000568556) ![有帮助](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) 咨询热线
