---
title: 各组件日志清理策略-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于 各组件日志清理策略相关的常见问题和使用技巧，帮助您快速解决 各组件日志清理策略的难题。
---
切换语言

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

划线反馈

# 各组件日志清理策略

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

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

为了防止长期不清理日志占用大量的磁盘空间并影响数据库运行性能，需要定期对日志进行清理。本文整理了 OceanBase 各组件的日志清理策略。

## OBServer 日志清理策略

- 可以在 OCP 中开启 ob_cleaner 自动清理功能。
 - 或者通过设置 OBServer 日志清理参数来清理日志。

  a. `enable_syslog_recycle` 配置项默认值为 false 时表示回收日志前可容纳的日志文件数量中不包含重启前的日志。命令如下。

  ```
  ```shell
  obclient> ALTER SYSTEM SET enable_syslog_recycle=true;
  ```

  ```

  b.设置 `max_syslog_file_count` 配置项为 100 启用自动回收之前保留的日志文件数量，`max_syslog_file_count` 配置项默认值为 0 时表示不自动清理。每个日志文件最大为 256 MB，如果磁盘空间不足，可以适当调小该配置项。命令如下:

  ```
  ```shell
  obclient> ALTER SYSTEM SET max_syslog_file_count=100;
  ```

  ```

## OBProxy 日志清理策略

可以通过设置以下参数来控制 OBProxy 的日志清理。

- `log_file_percentage`：用于设置 OBProxy 的日志阈值，超过该阈值会进行日志清理，默认为 80%。示例命令如下。

  ```shell
  ALTER SYSTEM SET log_file_percentage=75;

  ```
 - `log_dir_size_threshold`：日志目录最大可用空间，默认为 10G。示例命令如下。

  ```shell
  obclient> ALTER SYSTEM SET log_dir_size_threshold=15G;

  ```
 - `max_log_file_size`：日志文件最大大小，默认为 256M。示例命令如下。

  ```shell
  obclient> ALTER SYSTEM SET max_log_file_size= 200M;

  ```
 - ODP 日志清理策略与清理

     1. ODP Server 容器里的 admin 用户下制定清理策略，如占本地磁盘的 90% 开始清理，每秒清理 20M，直到清理到 90% 以下。
     2. ODP Server 容器里的 admin 用户下设定 `zclean.sh` 脚本定时清理任务。示例如下:

  ```shell
  * * * * *  /bin/bash /home/admin/logs/zclean.sh >> /home/admin/logs/zclean.log 2>&1

  ```

## OCP 日志清理策略

ocp 日志清理由 ocp-agent 按照一定规则来清理 OcenaBase 运行目录下 `log` 子目录。

当目录所在磁盘使用比例超过阈值（默认 80%），按照天数和保留文件比例来删除日志文件，具体可以参考 agent module_config 下 `ob_logcleaner_module.yaml` 配置。

## OMS 各个组件的日志位置与清理策略

- OMS 各个组件的日志位置信息如下:

     - Console 组件日志的默认目录为 `/home/admin/logs/ghana/Ghana`。
     - CM 组件日志的默认目录为 `/home/admin/logs/cm/log`。
     - Store 组件日志的默认目录为 `/home/ds/store/store{port}/log`。
     - Full-Import/Incr-Sync 组件日志的默认目录为 `/home/ds/run/{name}/logs`。
     - Full-Verification 组件日志的目录为 `/home/ds/run/{name}/logs`。
     - Supervisor 组件日志的目录为 `/home/admin/logs/supervisor/`。
 - OMS 各个组件清理策略，方法如下。

  ```shell
  在 OMS 管理控制台根据保留日志的要求设置相应日志清理任务。

  ```

## ODC 日志清理策略

- ODC 桌面版本地目录日志路径。

     - ODC V3.3.0 及之后的版本

           - Windows 系统日志路径 `%USERPROFILE%\AppData\Roaming\odc\logs\` 下的 `server` 和 `client` 子目录，路径中的 `%USERPROFILE% 通常为 C:\Users{username}\`。
           - Mac 系统日志路径 `~/Library/Application Support/odc/logs/` 下的 `server` 和 `client` 子目录，路径中的 `~` 通常为 `/Users/{username}`。
     - ODC V2.3.0~V3.2.x 版本

           - Windows 系统日志路径 `%USERPROFILE%\AppData\Roaming\odc\` 下的 `logs` 和 `javaLog` 子目录，路径中的 `%USERPROFILE%` 通常为 `C:\Users{username}\`。
           - Mac 系统日志路径 `~/Library/Application Support/odc/` 下的 `logs` 和 `javaLog` 子目录，路径中的 `~` 通常为 `/Users/{username}`。
     - ODC V2.2.x 及之前的版本

           - Windows 系统日志路径 `%USERPROFILE%\AppData\Roaming\odc-sql-console\logs`，路径中的 `%USERPROFILE%` 通常为 `C:\Users{username}\`。
           - Mac 系统日志路径 `/Users/{user}/Library/Application Support/odc-sql-console/logs` 下的 `logs` 和 `javaLog` 子目录 。  

  #### 注意

  桌面版无提供调整日志配置的方法，日志配置是打包在 jar 内的。
 - Web 版 ODC 日志路径和文件

     - 日志路径。

      a. 登录宿主机，执行以下命令进入 ODC Docker。

      b. 查看 odc docker image name。

      ```shell
      docker ps -a --format "{{.Names}}" | grep odc

      ```

      c. 进入 odc docker，假设 docker image name 为 odc。

      ```shell
      IMAGE_NAME=odc &&
      docker exec -it ${IMAGE_NAME} sh

      ```

      Docker 中 `/opt/odc/log/` 即为 Web 版 ODC 的日志路径。
     - 日志文件。

      a. 进入日志文件目录。

      ```shell
      cd /opt/odc/log

      ```

      b. 列出当前目录下的文件和子目录的详细信。

      ```shell
      sh-4.2# ls -l

      ```

      输出结果如下。

      ```shell
      total 540
      -rw-r--r-- 1 root root   9062 May 13 15:23 gc.log.0.current
      -rw-r--r-- 1 root root 523802 May 13 15:23 odc.log

      ```

      #### 注意

      ODC WEB 版日志配置文件默认路径为 `/opt/odc/conf/log4j2.xml` ，如需调整日志清理策略，可修改此文件，修改日志配置不需要重启 odc 进程，30 秒生效。

上一篇

[OceanBase 数据库如何配置日志自动清理？](https://www.oceanbase.com/knowledge-base/oceanbase-database-20000000109)

下一篇

[OceanBase 数据库 V2.x 版本中日志缺失的原因](https://www.oceanbase.com/knowledge-base/oceanbase-database-20000000039) ![有帮助](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) 咨询热线
