gv$ob_sql_audit sql_id一样,但query_sql为空

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】ob
【 使用版本 】 OceanBase_CE 4.1.0.0
【问题描述】
select request_id,from_unixtime(request_time/1000000),client_ip,sql_id,plan_id,sid,is_hit_plan, query_sql from oceanbase.gv$ob_sql_audit where request_time>unix_timestamp(‘2023-08-25 14:28:40’)*1000000 and elapsed_time>1000000 and sql_id=‘720C01614DBAB9D74A61806887DE9E3D’ order by request_id asc \G

像上面那样 查询sql,为啥会有一些sql_id是一样的,但query_sql却是空?? 难道能自动省略?

【复现路径】问题出现前后相关操作
【问题现象及影响】

【附件】

稍等,找相关同学看一下

image
可以看看是不是is_xxx_rpc之类

远程&分布式执行的SQL会在其他主机上留下一条query_sql为空的记录。


是的。我并行执行select /*+ parallel(8) / count() from gv$ob_sql_audit
有一个sql的 is_executor_rpc=1. 但有个疑问,

1、我的环境是单机ob,sql都是本地执行,也能出现RPC?
2、有同学说远程/分布式执行 会出现这个。 单机并行执行 也算是分布式的一种?
3、我设置的是parallel(8), 为啥ob_sql_audit中出现2个sql记录, 不是8个 或者其他?

  1. 单物理机并不代表不能用rpc消息传递来执行
  2. 是不是分布式计划应该是看涉及到的副本位置,具体看plan type
  3. 并行度是指参与执行的线程,与消息传递几次无关