---
title: 线程析构时线程局部缓存 ObDecoderCtxArray 内存泄漏-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于 线程析构时线程局部缓存 ObDecoderCtxArray 内存泄漏相关的常见问题和使用技巧，帮助您快速解决 线程析构时线程局部缓存 ObDecoderCtxArray 内存泄漏的难题。
---
切换语言

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

划线反馈

# 线程析构时线程局部缓存 ObDecoderCtxArray 内存泄漏

更新时间：2026-05-08 08:11

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

## 问题现象

线程析构时，线程局部缓存 `ObDecoderCtxArray` 内存泄漏。

若是 obguard 内存报警，且占用较大的是 OB_COMMON_ARRAY，启动 memleak checker 抓取堆栈，找到 `oceanbase::blocksstable::ObDecoderCtxArray::get_ctx_array(long) ./build_release/src/storage/./src/storage/blocksstable/encoding/ob_micro_block_decoder.cpp:110`，就是此问题导致。

## 问题原因

`ObTLDecoderCtxArray` 析构时，内部的 `ObDecoderCtxArray` 的 `ObArray` 内存没有释放掉。

## 问题的风险及影响

500 租户内存泄漏。

## 影响租户

影响 OceanBase 数据库中的 SYS 租户，对于 Oracle 租户和 MySQL 租户无影响。

## 影响版本

OceanBase 数据库企业版 V3.1.2 GA（oceanbase-3.1.2-20210618150922）及之后版本、V3.2.3 GA（oceanbase-3.2.3.0-20220418212020）及之后版本、V3.2.4 GA（oceanbase-3.2.4.0-100000072022102819）及之后版本。

## 解决方法及规避方式

- 重启。
 - 升级到问题已修复版本，目前已修复 OceanBase 数据库企业版 V3.2.3 BP9（oceanbase-3.2.3.3-109000182023071410）及之后版本、V3.2.4 BP4（oceanbase-3.2.4.4-104000052023062021）及之后版本。

上一篇

[UDT 模块内存泄漏导致 plan cache 用满](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000209938)

下一篇

[can not find enough memory block to wash](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000209939) ![有帮助](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) 咨询热线
