---
title: slog 盘满导致系统租户队列积压-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于slog 盘满导致系统租户队列积压相关的常见问题和使用技巧，帮助您快速解决slog 盘满导致系统租户队列积压的难题。
---
切换语言

- 简体中文
- English

划线反馈

# slog 盘满导致系统租户队列积压

更新时间：2026-06-10 01:56

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

## 问题现象

OBServer 集群中的某个节点出现 SYS 租户无法登录，断连接等问题。

## 关键诊断信息

### 触发条件

问题节点所在的 data 盘目录，磁盘空间占用率 100% 满了。

### 事前巡检

检查 OBServer 部署时的 data 盘，确保磁盘不被占用满。

### 事后诊断

使用 df 命令，确认 data 盘是否空间 100% 占满。

OBServer 的系统日志，出现以下的 slog 写失败日志信息。

```shell
WDIAG [COMMON] normal_retry_write (ob_log_file_handler.cpp:353) [2145808][T1016_OB_SLOG][T1016][Y0-0000000000000000-0-0] [lt=25][errcode=-4009] failed to wait for aio_write(ret=-4009, io_timeout_ms=10000)

```

## 问题原因

磁盘满后写 slog 失败引发的一系列连锁问题，导致 SYS 租户队列积压，具体原因如下。

1. slog 所在的磁盘，因为一些原因**占满了**（比如大量的 core 文件），导致上层元数据持久化写入失败。
 2. 业务租户个日志流会定期持久化元数据，遇到因素 1 后，目前的机制是在线程中**无限尝试重写**。副作用是，持久化日志流元数据的线程，都会持有日志流内的**元数据锁**，线程持有后就长期不释放。
 3. SYS 租户的工作线程在执行某些任务时，需要访问 all ls info 虚拟表。在读取其他租户的日志流信息时，会切换到目标租户，尝试获取日志流的**元数据锁**，读取数据。这就被因素 2 **阻塞**了。线程本身不释放。

- 大量 SYS 租户的工作线程都阻塞在了获取日志流元数据锁上，导致**请求队列积压**。

## 问题的风险及影响

数据目录所在物理磁盘满后，SYS 租户逐渐队列积压直至几乎不可用。用户租户写 slog 失败，事务失败，后续 SQL 也会持续 hang 住。

## 影响租户

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

## 影响版本

OceanBase 数据库企业版 V4.1.0 GA（oceanbase-4.1.0.0-100001122023040322）及之后版本、V4.2.0 GA（oceanbase-4.2.0.0-100010082023083014）及之后版本、V4.2.1 GA（oceanbase-4.2.1.0-100000182023092722）及之后版本、V4.2.2 GA（oceanbase-4.2.2.0-100000082024011317）及之后版本。

#### 注意

所有 OceanBase 数据库 V4.x 版本都可能遇到该问题。

## 解决方法及规避方法

- 解决方法：

     - 升级至问题已修复版本。目前已修复的版本包括 OceanBase 数据库 V4.2.1 BP5（oceanbase-4.2.1.5-105000072024041817）及之后版本。
     - 在运维能及时响应的情况下，清理磁盘后集群则立即可以恢复。
     - 可将磁盘满机器的 OBServer 进程 kill 掉，先恢复集群运行，待解决完磁盘问题后再将 OBServer 重新拉起。
 - 规避方式：

     - 在部署集群时，保证数据盘目录及 slog 单独在一个存储设备上，以免其他 IO 及数据输入影响。
     - 完善机器监控，如通过 OCP 实时监控机器各磁盘健康状态，通过运维手段及时发现硬件问题。
     - 可以考虑把 slog 支持分开目录的功能 cp 到 V4.2.1 版本，在一定程度上也能预防该问题。

Previous

[租户 table history 过多导致重启时 schema 刷新报错 -4013 的原因及解决方法](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000002762861)

Next

[proxyro 用户的密码信息都保存在哪里](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000988450) ![有帮助](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) 咨询热线
