首批通过分布式安全可靠测评,为关键业务系统打造
GV$OB_SQL_AUDIT
更新时间:2026-04-10 11:58:37
说明
从 V4.0.0 版本开始引入。
功能描述
视图 GV$OB_SQL_AUDIT 用于展示所有 OBServer 节点上每一次 SQL 请求的来源、执行状态等统计信息。该视图是按照租户拆分的,除了系统租户,其他租户不能跨租户查询。
字段说明
| 字段名称 | 类型 | 是否可以为 NULL | 描述 |
|---|---|---|---|
| SVR_IP | varchar(46) | NO | IP 地址 |
| SVR_PORT | bigint(20) | NO | 端口号 |
| REQUEST_ID | bigint(20) | NO | 请求的 ID 号 |
| SQL_EXEC_ID | bigint(20) | NO | 本次执行的 ID |
| TRACE_ID | varchar(128) | NO | 该语句的 trace_id |
| SID | bigint(20) unsigned | NO | Session 连接 ID |
| CLIENT_IP | varchar(46) | NO | |
| CLIENT_PORT | bigint(20) | NO | 发送请求的客户端端口号 |
| TENANT_ID | bigint(20) | NO | 发送请求的租户 ID |
| TENANT_NAME | varchar(64) | NO | 发送请求的租户名称 |
| EFFECTIVE_TENANT_ID | bigint(20) | NO | 租户 ID |
| USER_ID | bigint(20) | NO | 发送请求的用户 ID |
| USER_NAME | varchar(64) | NO | 发送请求的用户名称 |
| USER_GROUP | bigint(20) | YES | 用户所属资源组 ID |
| USER_CLIENT_IP | varchar(46) | NO | 发送请求的客户端的 IP |
| DB_ID | bigint(20) unsigned | NO | 数据库 ID |
| DB_NAME | varchar(128) | NO | 数据库名称 |
| SQL_ID | varchar(32) | NO | 该 SQL 的 ID |
| QUERY_SQL | longtext | NO | 实际的 SQL 语句 |
| PLAN_ID | bigint(20) | NO | 执行计划的 ID |
| AFFECTED_ROWS | bigint(20) | NO | 影响行数 |
| RETURN_ROWS | bigint(20) | NO | 返回行数 |
| PARTITION_CNT | bigint(20) | NO | 该请求涉及的分区数 |
| RET_CODE | bigint(20) | NO | 执行结果返回码: |
| QC_ID | bigint(20) unsigned | NO | 并行执行场景下,调度器 ID |
| DFO_ID | bigint(20) | NO | 并行执行场景下,当前执行的子计划 ID |
| SQC_ID | bigint(20) | NO | 并行执行场景下,本地协调器 ID |
| WORKER_ID | bigint(20) | NO | 并行执行场景下,工作线程 ID |
| EVENT | varchar(64) | NO | 最长等待事件名称 |
| P1TEXT | varchar(64) | NO | 等待事件参数 1 |
| P1 | bigint(20) unsigned | NO | 等待事件参数 1 的值 |
| P2TEXT | varchar(64) | NO | 等待事件参数 2 |
| P2 | bigint(20) unsigned | NO | 等待事件参数 2 的值 |
| P3TEXT | varchar(64) | NO | 等待事件参数 3 |
| P3 | bigint(20) unsigned | NO | 等待事件参数 3 的值 |
| LEVEL | bigint(20) | NO | 等待事件的级别 |
| WAIT_CLASS_ID | bigint(20) | NO | 等待事件所属的 Class ID |
| WAIT_CLASS# | bigint(20) | NO | 等待事件所属的 Class 的下标 |
| WAIT_CLASS | varchar(64) | NO | 等待事件所属的 Class 名称 |
| STATE | varchar(19) | NO | 等待事件的状态 |
| WAIT_TIME_MICRO | bigint(20) | NO | 该等待事件所等待的时间,单位:微秒 |
| TOTAL_WAIT_TIME_MICRO | bigint(20) | NO | 执行过程所有等待的总时间,单位:微秒 |
| TOTAL_WAITS | bigint(20) | NO | 执行过程总等待的次数 |
| RPC_COUNT | bigint(20) | NO | 发送的 RPC 个数 |
| PLAN_TYPE | bigint(20) | NO | 执行计划类型: |
| IS_INNER_SQL | tinyint(4) | NO | 是否为内部 SQL 请求 |
| IS_EXECUTOR_RPC | tinyint(4) | NO | 当前请求是否为 RPC 请求 |
| IS_HIT_PLAN | tinyint(4) | NO | 是否命中 plan_cache |
| REQUEST_TIME | bigint(20) | NO | 开始执行时间点,单位:微秒 |
| ELAPSED_TIME | bigint(20) | NO | 接收到请求到执行结束所消耗的总时间,单位:微秒 |
| NET_TIME | bigint(20) | NO | 发送 RPC 到接收到请求的时间,单位:微秒 |
| NET_WAIT_TIME | bigint(20) | NO | 接收到请求到进入队列的时间,单位:微秒 |
| QUEUE_TIME | bigint(20) | NO | 请求在队列的等待时间,单位:微秒 |
| DECODE_TIME | bigint(20) | NO | 出队列后 Decode 的时间,单位:微秒 |
| GET_PLAN_TIME | bigint(20) | NO | 开始 Process 到获得计划的时间,单位:微秒 |
| EXECUTE_TIME | bigint(20) | NO | 计划执行所消耗的时间,单位:微秒 |
| APPLICATION_WAIT_TIME | bigint(20) unsigned | NO | 所有 Application 类事件的总时间,单位:微秒 |
| CONCURRENCY_WAIT_TIME | bigint(20) unsigned | NO | 所有 Concurrency 类事件的总时间,单位:微秒 |
| USER_IO_WAIT_TIME | bigint(20) unsigned | NO | 所有 user_io 类事件的总时间,单位:微秒 |
| SCHEDULE_TIME | bigint(20) unsigned | NO | 所有 Schedule 类事件的时间,单位:微秒 |
| ROW_CACHE_HIT | bigint(20) | NO | 行缓存命中次数 |
| BLOOM_FILTER_CACHE_HIT | bigint(20) | NO | Bloom Filter 缓存命中次数 |
| BLOCK_CACHE_HIT | bigint(20) | NO | 块缓存命中次数 |
| DISK_READS | bigint(20) | NO | 物理读次数 |
| RETRY_CNT | bigint(20) | NO | 重试次数 |
| TABLE_SCAN | tinyint(4) | NO | 判断该请求是否含全表扫描 |
| CONSISTENCY_LEVEL | bigint(20) | NO | 一致性级别,取值如下:
|
| MEMSTORE_READ_ROW_COUNT | bigint(20) | NO | MemStore 中的读行数 |
| SSSTORE_READ_ROW_COUNT | bigint(20) | NO | SSStore 中连读的行数 |
| DATA_BLOCK_READ_CNT | bigint(20) | NO | 访问的数据微块数量 |
| DATA_BLOCK_CACHE_HIT | bigint(20) | NO | 命中数据微块cache数量 |
| INDEX_BLOCK_READ_CNT | bigint(20) | NO | 访问的中间层微块数量 |
| INDEX_BLOCK_CACHE_HIT | bigint(20) | NO | 命中中间层微块cache数量 |
| BLOCKSCAN_BLOCK_CNT | bigint(20) | NO | 单边扫描的数据微块数量 |
| BLOCKSCAN_ROW_CNT | bigint(20) | NO | 单边扫描的数据行数 |
| PUSHDOWN_STORAGE_FILTER_ROW_CNT | bigint(20) | NO | 下压存储filter过滤后行数 |
| REQUEST_MEMORY_USED | bigint(20) | NO | 该请求消耗的内存 |
| EXPECTED_WORKER_COUNT | bigint(20) | NO | 请求期望的工作线程数 |
| USED_WORKER_COUNT | bigint(20) | NO | 请求实际使用的工作线程数 |
| SCHED_INFO | varchar(16384) | YES | 请求的调度信息 |
| FUSE_ROW_CACHE_HIT | bigint(20) | NO | 暂不支持该字段,字段默认为 NULL |
| PS_CLIENT_STMT_ID | bigint(20) | NUMBER(38) | 该字段用于记录请求对应的客户端 Prepare ID:
|
| PS_INNER_STMT_ID | bigint(20) | NUMBER(38) | 该字段用于记录请求对应的内部(数据库内部)Prepare ID:
|
| TX_ID | bigint(20) | NO | 请求对应的事务 ID |
| SNAPSHOT_VERSION | bigint(20) | NO | SQL语句使用的读快照版本 |
| REQUEST_TYPE | bigint(20) | NO | 请求对应的类型: |
| IS_BATCHED_MULTI_STMT | tinyint(4) | NO | 是否进行 Batch Multi Stmt 的优化 |
| OB_TRACE_INFO | varchar(4096) | NO | 用户设置的 Trace 信息 |
| PLAN_HASH | bigint(20) unsigned | NO | 执行计划的 Hash 值 |
| LOCK_FOR_READ_TIME | bigint(20) | NO | 读取数据时等待锁的耗时,单位:微秒 |
| PARAMS_VALUE | longtext | NO | PS 绑定的参数值 |
| RULE_NAME | varchar(256) | NO | 规则名称
说明该字段从 V4.1.0 版本开始引入。 |
| PARTITION_HIT | tinyint(4) | NO |
说明该字段从 V4.1.0 版本开始引入。 |
| TX_INTERNAL_ROUTING | bigint(20) | NO | 表示当前事务是否启用了事务路由:
说明
|
| TX_STATE_VERSION | bigint(20) unsigned | NO | 当事务路由开启后,执行语句后事务状态若发生变化,则版本号递增;若未发生变化,则版本号不变
说明
|
| FLT_TRACE_ID | varchar(1024) | NO | 表示该条记录全链路追踪的 trace_id,如果为空,则说明没有被全链路追踪监控。该字段是Uuid,不同于 Trace。其表示形式类似于:000600d6-a5de-038c-6c80-df07e4e79149
说明该字段从 V4.2.1 版本开始引入。 |
| PL_TRACE_ID | varchar(128) | NO | 当前 SQL 语句外层 PL 的 Trace ID (如果没有外层 PL 则该值 NULL)
说明该字段从 V4.2.2 版本开始引入。 |
| PLSQL_EXEC_TIME | bigint(20) | NO | PL 执行的耗时(不包括 SQL 执行时间),单位:微秒
说明该字段从 V4.2.2 版本开始引入。 |
查询示例
查看所有 OBServer 节点上每一次 SQL 请求的来源、执行状态等统计信息。
obclient [oceanbase]> SELECT * FROM oceanbase.GV$OB_SQL_AUDIT LIMIT 1\G
查询结果如下:
*************************** 1. row ***************************
SVR_IP: 11.xx.xx.xx
SVR_PORT: 28825
REQUEST_ID: 699860259
SQL_EXEC_ID: 1981845747
TRACE_ID: Y70XXXXXXXXXXX-000XXXXXXXXXXXXX-0-0
SID: 3221738844
CLIENT_IP: 0.0.0.0
CLIENT_PORT: 0
TENANT_ID: 1
TENANT_NAME: sys
EFFECTIVE_TENANT_ID: 1
USER_ID: 200001
USER_NAME: root
USER_GROUP: 0
USER_CLIENT_IP: 0.0.0.0
DB_ID: 201001
DB_NAME: oceanbase
SQL_ID: 24D486F20861EBD9E0217692DB0E9C61
QUERY_SQL: update __all_weak_read_service set min_version=1722333424471975000, max_version=1722333424471975000 where tenant_id = 1 and level_id = 0 and level_value = '' and min_version = 1722333424271746000 and max_version = 1722333424271746000
PLAN_ID: 306870
AFFECTED_ROWS: 1
RETURN_ROWS: 0
PARTITION_CNT: 1
RET_CODE: 0
QC_ID: 0
DFO_ID: 0
SQC_ID: 0
WORKER_ID: 0
EVENT:
P1TEXT:
P1: 0
P2TEXT:
P2: 0
P3TEXT:
P3: 0
LEVEL: 0
WAIT_CLASS_ID: 100
WAIT_CLASS#: 0
WAIT_CLASS: OTHER
STATE: MAX_WAIT TIME ZERO
WAIT_TIME_MICRO: 0
TOTAL_WAIT_TIME_MICRO: 0
TOTAL_WAITS: 0
RPC_COUNT: 0
PLAN_TYPE: 1
IS_INNER_SQL: 1
IS_EXECUTOR_RPC: 0
IS_HIT_PLAN: 1
REQUEST_TIME: 1722333424672632
ELAPSED_TIME: 474
NET_TIME: 0
NET_WAIT_TIME: 0
QUEUE_TIME: 0
DECODE_TIME: 0
GET_PLAN_TIME: 105
EXECUTE_TIME: 369
APPLICATION_WAIT_TIME: 0
CONCURRENCY_WAIT_TIME: 0
USER_IO_WAIT_TIME: 0
SCHEDULE_TIME: 0
ROW_CACHE_HIT: 0
BLOOM_FILTER_CACHE_HIT: 0
BLOCK_CACHE_HIT: 4
DISK_READS: 0
RETRY_CNT: 0
TABLE_SCAN: 0
CONSISTENCY_LEVEL: 3
MEMSTORE_READ_ROW_COUNT: 2
SSSTORE_READ_ROW_COUNT: 2
DATA_BLOCK_READ_CNT: 2
DATA_BLOCK_CACHE_HIT: 2
INDEX_BLOCK_READ_CNT: 4
INDEX_BLOCK_CACHE_HIT: 2
BLOCKSCAN_BLOCK_CNT: 0
BLOCKSCAN_ROW_CNT: 0
PUSHDOWN_STORAGE_FILTER_ROW_CNT: 0
REQUEST_MEMORY_USED: 254360
EXPECTED_WORKER_COUNT: 0
USED_WORKER_COUNT: 0
SCHED_INFO: NULL
FUSE_ROW_CACHE_HIT: 0
PS_CLIENT_STMT_ID: -1
PS_INNER_STMT_ID: -1
TX_ID: 97465316
SNAPSHOT_VERSION: 1722333424479376000
REQUEST_TYPE: 1
IS_BATCHED_MULTI_STMT: 0
OB_TRACE_INFO: NULL
PLAN_HASH: 10435171333981900908
LOCK_FOR_READ_TIME: 0
PARAMS_VALUE:
RULE_NAME:
PARTITION_HIT: 1
TX_INTERNAL_ROUTING: 0
TX_STATE_VERSION: 0
FLT_TRACE_ID:
PL_TRACE_ID: NULL
PLSQL_EXEC_TIME: 0
1 row in set