【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】5.7.25-OceanBase_CE-v4.2.1.8
【问题描述】假设一条SQL执行时间很长,多次查询GV$OB_SQL_AUDIT,这条SQL是否会多次出现,如果会多次出现,可以用哪个字段标识,TRACE_ID 可以吗
2 个赞
- sql 执行还未结束的时候是不会记录到 sql audit 中。
- 一条SQL你想查询GV$OB_SQL_AUDIT记录,可以通过trace_id去查询,这个没问题。补充说明一点:有时候你会发现,这个trace_id 去查询的时候出来的记录可能不止一条,这是正常现象,因为内部SQL\远程执行的SQL\PX线程执行的SQL都会打印对应的sql_audit记录,但这些记录有个共同的特点就是他们的trace_id是一样的,换句话说,通过trace_id是可以查出这个SQL的所有执行环节的。
我之前写过一篇博客可能会对你认识sql_audit视图有所帮助:OceanBase 社区
4 个赞
get了,感谢回复
1 个赞