首批通过分布式安全可靠测评,为关键业务系统打造
log_tool
更新时间:2024-04-19 09:31:01
OceanBase 数据库的 clog 日志类似于传统数据库的 redo 日志。clog 日志负责在事务提交时持久化事务数据。事务数据是事务对数据库的修改记录。log_tool 用于解析并打印 clog 文件。本文将介绍如何使用 log_tool。
log_tool 即是旧版本中的 clog_tool,在 OceanBase 数据库 V4.x 版本中做了适配更新。修改了部分命令格式,并删除了部分功能。
log_tool 命令
目前,log_tool 集成在 ob_admin 工具中,您可以通过执行 ob_admin 命令调用 log_tool。 下表列出了 log_tool 的常用命令。
| 命令行 | 说明 |
|---|---|
dump_log |
解析并打印指定的 clog 文件。 |
dump_tx_format |
解析指定的 clog 文件,并将这个日志文件按照类 SQL 形式打印。 |
dump_filter |
解析指定的 clog 文件,并打印这个日志文件中满足过滤条件的记录。 |
stat |
解析指定的 clog 文件,并打印这个日志文件的统计信息。 |
dump_log
ob_admin log_tool dump_log <clog_file_name>
代码使用说明:
使用
dump_log命令解析并打印指定的 clog 文件。解析多个文件时,文件名需要使用空格隔开。其中
clog_file_name为指定 clog 文件名。clog_file_name可以包含文件路径。例如:解析并打印单个 clog 文件。此处待解析的 clog 文件名为
101,且这个文件位于当前目录,则运行以下命令解析并打印该文件。ob_admin log_tool dump_log 101解析并打印多个 clog 文件。此处待解析的 clog 文件名为
101和103,且这两个文件均位于当前目录,则运行以下命令解析并打印这两个文件。ob_admin log_tool dump_log 101 103解析并打印多个连续的 clog 文件。此处待解析的 clog 文件名为
101、102、103和104,且这些文件均位于当前目录,则运行以下命令解析并打印这些文件。ob_admin log_tool dump_log {101..104}
dump_filter
ob_admin log_tool dump_filter '<filter_name>' <clog_file_name>
代码使用说明:
使用
dump_filter按照过滤条件将 clog 文件中的事务相关内容打印。<clog_file_name>使用详情,请参见 dump_log。目前,
filter_name的取值如下: | 过滤条件名称 | 说明 | |----------------|---------| |tablet_id| 数据表标识符 | |tx_id| 事务标识符 |filter_name可以单独使用,也可以组合使用。过滤多个条件时,条件名称需要用英文分号(;)隔开。例如:tablet_id为 123,clog 文件名为101且位于当前目录,则运行以下命令解析并打印该文件。ob_admin log_tool dump_filter 'tablet_id=123' 101tablet_id为123,tx_id为26058724,需要解析的 clog 文件为101且位于当前目录,则运行以下命令解析并打印该文件。ob_admin log_tool dump_filter 'tablet_id=123;tx_id=26058724' 101
stat
ob_admin log_tool stat <clog_file_name>
代码使用说明:
使用
stat命令获取指定 clog 文件的统计信息,包括日志文件大小、日志记录个数、事务个数等信息。说明
clog_tool 可以通过环境变量
CLOG_TOOL_BREAK_ON_FAIL控制解析过程中是直接退出还是忽略错误继续。当CLOG_TOOL_BREAK_ON_FAIL的值为 true 时,直接退出;当CLOG_TOOL_BREAK_ON_FAIL的值为 false 时,则忽略错误继续解析。<clog_file_name>使用详情,请参见 dump_log。