首批通过分布式安全可靠测评,为关键业务系统打造
如何配置 OBServer 捕获慢查询
更新时间:2026-05-14 09:21
集群参数 trace_log_slow_query_watermark 来控制慢 SQL 的阀值,执行时间超过该阀值的 SQL 被认为是慢查询,慢查询的追踪日志会被打印到 OBServer 日志中。我们可以调整 trace_log_slow_query_watermark 的阀值,来捕捉需要跟踪的 SQL 执行。
适用版本
OceanBase 数据库 V4.0 以前的所有版本。
操作步骤
trace_log_slow_query_watermark 参数的默认值为 100 ms,表示执行时间超过 100 ms 的查询会被认为是慢 SQL,并记录在 observer.log 日志中。该参数值需要根据业务 SQL 的性能指标来设置,参数设置过大会丢失对慢查询的追踪日志,参数设置过小可能会产生过多的日志量,对整个集群性能带来一定的影响。
使用 ALTER SYSTEM 命令设置慢查询日志参数。
obclient> ALTER SYSTEM SET trace_log_slow_query_watermark='1s';在
observer.log日志中查看慢查询日志,搜索关键字[slow query]。[root@hostname /]# cd /home/admin/oceanbase/log [root@hostname log]# fgrep "slow query" observer.log| sed "s/|\[/\n\]/g"慢查询日志示例:

[optimize_end]:每个方框号([])中的文字表示 SQL 执行经过的每一个内部模块。trace_id:语句的trace_id,您可以通过该 ID 从日志中搜索语句的执行信息。与gv$sql_audit里的trace_id字段对应。stmt:执行的 SQL 语句。u:代表每一步消耗的时间,单位是微秒。total_timeu:是指整个过程消耗的总时间,这里是 31ms。