---
title: "日志磁盘满 | OceanBase 文档中心"
description: 日志磁盘满 OceanBase 数据库日志盘满，会对业务产生一定的影响，当自清理机制无法触发时，需要用户进行手动处理。 场景描述 事务日志盘 /data/log1 包含 OceanBase 数据库的 redo log，而 redo log 主要包括 clog 和 ilog 两部分。clog 全称 commit log…
---
切换语言

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

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 3.1.4 社区版

# 日志磁盘满

更新时间：2023-08-03 17:20:32

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V3.1.4/zh-CN/100.users-guide/1100.operation-and-maintenance-management/600.common-operation-and-maintenance-operations/200.resource-related/300.log-disk-full.md)  

OceanBase 数据库日志盘满，会对业务产生一定的影响，当自清理机制无法触发时，需要用户进行手动处理。

## 场景描述

事务日志盘 `/data/log1` 包含 OceanBase 数据库的 redo log，而 redo log 主要包括 clog 和 ilog 两部分。clog 全称 commit log，位于 store/xxx/clog目录下，xxx 是集群名 ，记录数据库中数据所做的更改操作，提供数据持久性保证。ilog 全称 index log，位于 store/xxx/ilog目录下, 是 clog 的索引，本质上是一种优化，ilog 的文件删除不会影响数据持久性，但可能会影响系统的恢复时间。该盘空间满，会产生业务无法写数据等影响。

这两种文件均按需自动创建和清除，磁盘写到 80% 会触发自清除逻辑，但前提是这部分日志数据对应的内存数据已经转储到了磁盘中；若该部分数据尚未转储，有撑爆日志盘的风险。因此有时需要手动处理。

## 解决方案

1. 调整事务日志的磁盘 I/O 最大使用百分比。

   clog 盘达到 95% 之后自动停写，无法再接收日志，该阈值由配置项 `clog_disk_usage_limit_percentage` 控制，可以调整该配置项的值为 98。可以指定只修改盘满的 server。

   使用 root@sys 登录，执行以下命令：

   ```sql
   obclient> ALTER system SET clog_disk_usage_limit_percentage = 98 server ='[ip地址]:2882';

   ```
 2. 修改之后，落后的副本会立即触发追日志。如果落后很多会触发 rebuild（从 leader 拷贝 data+clog）。

   可以通过如下方式观察恢复过程。

      1. 执行如下 SQL 语句，检查 clog 不同步的分区数是否有不断减少。

        ```sql
        obclient> SELECT svr_ip, count(*) FROM __all_virtual_clog_stat WHERE is_offline = 0 and is_in_sync = 0 group by 1;

        ```
      2. 如果没有快速减少，则可能有副本触发了 rebuild（rebuild 是一种落后太多情况下追赶的方式，会拷贝基线+增量），继续执行如下 SQL 查询是否有正在做 rebuild 的副本。

        ```sql
        obclient> SELECT svr_ip, count(*) FROM __all_virtual_partition_migration_status WHERE action != 'END' group by 1;

        ```
      3. 观察上述查询结果是否在逐渐减小，如果是在减小，说明 rebuild 副本在进行中。
 3. 执行以下命令，观察之前盘满的 server 的 clog 盘空间当前容量。

   ```shell
   df -lh

   ```

   如果 clog 盘空间自动下降到 95% 以下，说明 OBServer 恢复顺利，继续等待所有副本达到 sync 状态即可。如果又达到了 98%，则说明这次调整没有恢复成功，请联系 OceanBase 技术支持人员处理。
 4. 待 `is_in_sync= 0` 的副本数量降为 0 之后，将上述所有改过的配置项恢复原值。

 上一篇 下一篇 ![有帮助](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) 咨询热线
