---
title: "clog_tool | OceanBase 文档中心"
description: clog_tool OceanBase 数据库的 clog 日志类似于传统数据库的 redo 日志。clog 日志负责在事务提交时持久化事务数据。事务数据是事务对数据库的修改记录。clog_tool 用于解析并打印 clog 文件。本文将介绍如何使用 clog_tool。 目前，clog_tool 集成在 ob_ad…
---
切换语言

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

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

# clog_tool

更新时间：2023-08-07 17:31:04

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V3.1.2/zh-CN/900.supporting-tools/100.ob-admin/300.clog_tool.md)  

OceanBase 数据库的 clog 日志类似于传统数据库的 redo 日志。clog 日志负责在事务提交时持久化事务数据。事务数据是事务对数据库的修改记录。clog_tool 用于解析并打印 clog 文件。本文将介绍如何使用 clog_tool。

目前，clog_tool 集成在 ob_admin 工具中，您可以通过执行 `ob_admin` 命令调用 clog_tool。

## clog_tool 命令

下表列出了 clog_tool 的常用命令。

| 命令行 | 说明 |
| --- | --- |
| `dump_all` | 解析并打印指定的 clog 文件。 |
| `dump_hex` | 解析并打印指定的 clog 文件，并将不可打印的字符转换为十六进制字符打印。 |
| `dump_format` | 解析指定的 clog 文件，并将这个日志文件按照类 SQL 形式打印。 |
| `dump_filter` | 解析指定的 clog 文件，并打印这个日志文件中满足过滤条件的记录。 |
| `stat_clog` | 解析指定的 clog 文件，并打印这个日志文件的统计信息。 |

### dump_all 命令

```bash
ob_admin clog_tool dump_all <clog_file_name>

```

代码使用说明：

- 使用 `dump_all` 命令解析并打印指定的 clog 文件。解析多个文件时，文件名需要使用空格隔开。
 - 其中 `clog_file_name` 为指定 clog 文件名。`clog_file_name` 可以包含文件路径。例如：

     - 解析并打印单个 clog 文件。此处待解析的 clog 文件名为 `101`，且这个文件位于当前目录，则运行以下命令解析并打印该文件。

      ```bash
      ob_admin clog_tool dump_all 101

      ```
     - 解析并打印多个 clog 文件。此处待解析的 clog 文件名为 `101` 和 `103`，且这两个文件均位于当前目录，则运行以下命令解析并打印这两个文件。

      ```bash
      ob_admin clog_tool dump_all 101 103

      ```
     - 解析并打印多个连续的 clog 文件。此处待解析的 clog 文件名为 `101`、`102`、`103` 和 `104`，且这些文件均位于当前目录，则运行以下命令解析并打印这些文件。

      ```bash
      ob_admin clog_tool dump_all {101..104}

      ```

### dump_hex 命令

```bash
ob_admin clog_tool dump_hex <clog_file_name>

```

代码使用说明：

- 如果 clog 日志中包含不可打印的字符，那么 ob_admin 将无法通过 `dump_all` 命令打印这部分内容。使用 `dump_hex` 命令将不可打印的字符转为十六进制字符并打印。
 - `<clog_file_name>` 使用详情，请参见 **dump_all 命令**。

### dump_format 命令

```bash
ob_admin clog_tool dump_format <clog_file_name>

```

代码使用说明：

- 通过 `dump_all` 命令打印的日志不便于阅读。为了增强可读性，使用 `dump_format` 命令解析指定的 clog 文件，并将这个日志文件按照类 SQL 形式打印。
 - `<clog_file_name>` 使用详情，请参见 **dump_all 命令**。

### dump_filter 命令

```bash
ob_admin clog_tool dump_filter '<filter_name>' <clog_file_name>

```

代码使用说明：

- 使用 `dump_filter` 命令可以打印满足特定条件的 clog 日志记录，从而减少 clog 日志记录的打印量，便于问题排查。
 - `<clog_file_name>` 使用详情，请参见 **dump_all 命令**。
 - 目前，`filter_name` 的取值如下：

  | 过滤条件名称 | 说明 |
  | --- | --- |
  | `table_id` | 数据表标识符 |
  | `partition_id` | 数据分区标识符 |

  `filter_name` 可以单独使用，也可以组合使用。过滤多个条件时，条件名称需要用英文分号（;）隔开。例如：

     - `table_id` 为 123，clog 文件名为 `101` 且位于当前目录，则运行以下命令解析并打印该文件。

      ```bash
      ob_admin clog_tool dump_filter 'table_id=123' 101

      ```
     - `table_id` 为 `123`，`partition_id` 为 `2`，需要解析的 clog 文件名为 `101` 且位于当前目录，则运行以下命令解析并打印该文件。

      ```bash
      ob_admin clog_tool dump_filter 'table_id=123;partition_id=2' 101

      ```

### stat_clog 命令

```bash
ob_admin clog_tool stat_clog <clog_file_name>

```

使用 `stat_clog` 命令获取指定 clog 文件的统计信息，包括日志文件大小、日志记录个数、事务个数等信息。

> **说明**
>
>  
>
> clog_tool 可以通过环境变量 `CLOG_TOOL_BREAK_ON_FAIL` 控制解析过程中是直接退出还是忽略错误继续。当 `CLOG_TOOL_BREAK_ON_FAIL` 的值为 true 时，直接退出；当 `CLOG_TOOL_BREAK_ON_FAIL` 的值为 false 时，则忽略错误继续解析。

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