7.5 KiB
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 命令
ob_admin clog_tool dump_all <clog_file_name>
使用 dump_all 命令解析并打印指定的 clog 文件。解析多个文件时,文件名需要使用空格隔开。
其中 clog_file_name 为指定 clog 文件名。clog_file_name 可以包含文件路径。例如:
解析并打印单个 clog 文件。此处待解析的 clog 文件名为 101,且这个文件位于当前目录,则运行以下命令解析并打印该文件。
ob_admin clog_tool dump_all 101
解析并打印多个 clog 文件。此处待解析的 clog 文件名为 101 和 103,且这两个文件均位于当前目录,则运行以下命令解析并打印这两个文件。
ob_admin clog_tool dump_all 101 103
解析并打印多个文件名递增的 clog 文件。此处待解析的 clog 文件名为 101、102、103 和 104,且这些文件均位于当前目录,则运行以下命令解析并打印这些文件。
ob_admin clog_tool dump_all {101..104}
dump_hex 命令
ob_admin clog_tool dump_hex <clog_file_name>
如果 clog 日志中包含不可打印的字符,那么 ob_admin 将无法通过 dump_all 命令打印这部分内容。使用 dump_hex 命令将不可打印的字符转为十六进制字符并打印。
<clog_file_name> 详情,参考 dump_all 命令。
dump_format 命令
ob_admin clog_tool dump_format <clog_file_name>
通过 dump_all 命令打印的日志不便于阅读。为了增强可读性,使用 dump_format 命令解析指定的 clog 文件,并将这个日志文件按照类 SQL 形式打印。
<clog_file_name> 详情,参考 dump_all 命令。
dump_filter
ob_admin clog_tool dump_filter '<filter_name>' <clog_file_name>
使用 dump_filter 命令过滤不需要的 clog 日志记录。
<clog_file_name> 详情,参考 dump_all 命令。
目前,filter_name 的取值如下:
| 过滤条件名称 | 说明 |
|---|---|
table_id |
数据表标识符 |
partition_id |
数据分区标识符 |
filter_name 可以单独使用,也可以组合使用。过滤多个条件时,条件名称需要用英文分号(;)隔开。例如:
table_id 为 123, clog 文件名为 101 且位于当前目录,则运行以下命令解析并打印该文件。
ob_admin clog_tool dump_filter 'table_id=123' 101
table_id 为 123,partition_id 为 2,需要解析的 clog 文件名为 101 且位于当前目录,则运行以下命令解析并打印该文件。
ob_admin clog_tool dump_filter 'table_id=123;partition_id=2' 101
stat_clog 命令
ob_admin clog_tool stat_clog <clog_file_name>
使用 stat_clog 命令获取指定 clog 文件的统计信息,包括日志文件大小、日志记录个数、事务个数等信息。