基于 Trace 功能查找上一次 SQL 请求日志-有人使用成功了吗?

我按照官方文档配置后,始终没有抓到SQL执行的语句。

@官方小助手

1 个赞

没用过

没有抓到,操作步骤有吗

可以说明下操作步骤和observer版本信息

通过SQL Trace查看执行过程信息及各阶段的耗时

  1. SET ob_enable_trace_log = 1; --新版本 set ob_enable_show_trace=1;
  2. 执行SQL
  3. SHOW TRACE; --出现各个阶段信息
  4. SELECT last_trace_id() FROM DUAL;
  5. 对应的observer上查看日志
    grep YB42AC1E87CC-0005F6BFDB3E2199-0-0 observer.log
    注意:4.3.3版本打开方式 set ob_enable_show_trace= on;
    注意:不会记录在trace.log里面
2 个赞

SHOW PARAMETERS LIKE ‘%syslog_level%’;


SHOW VARIABLES LIKE ‘ob_enable_show_trace’;
SET @@ob_log_level=‘sql.:trace, common.:error’;
SET ob_enable_show_trace=ON;
SELECT last_trace_id() FROM DUAL;
SET ob_enable_show_trace=OFF;

grep YB427F000001-000636B7F2BF316F-0-0 observer.log

按照官方的步骤操作的

版本
OceanBase_CE 4.3.5.0 (r100000202024123117-5d6cb5cbc3f7c1ab6eb22e40abec8e160a8764d5) (Built Dec 31 2024 17:35:01)

按照这个步骤来的,grep的结果没有追踪到SQL

执行一条dml,然后SELECT last_trace_id() FROM DUAL;获取trace_id过滤日志;
如果是非单节点,可以在leader节点上过滤日志。

过滤出的log没有SQL语句