# clog_tool OceanBase 数据库的 clog 日志类似于传统数据库的 Redo 日志。clog 日志负责在事务提交时持久化事务数据。事务数据是事务对数据库的修改记录。clog_tool 用于解析并打印 clog 文件。目前,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 ``` 使用 `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 日志中包含不可打印的字符,那么 ob_admin 将无法通过 `dump_all` 命令打印这部分内容。使用 `dump_hex` 命令将不可打印的字符转为十六进制字符并打印。 `` 详情,参考 `dump_all` 命令。 ### `dump_format` 命令 ```bash ob_admin clog_tool dump_format ``` 通过 `dump_all` 命令打印的日志不便于阅读。为了增强可读性,使用 `dump_format` 命令解析指定的 clog 文件,并将这个日志文件按照类 SQL 形式打印。 `` 详情,参考 `dump_all` 命令。 ### `dump_filter` ```bash ob_admin clog_tool dump_filter '' ``` 使用 `dump_filter` 命令过滤不需要的 clog 日志记录。 `` 详情,参考 `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 ``` 使用 `stat_clog` 命令获取指定 clog 文件的统计信息,包括日志文件大小、日志记录个数、事务个数等信息。