后浪云OceanBase教程:OceanBase (g)v$sql_audit 介绍

(g)v$sql_audit 是全局 SQL 审计表,可以用来查看每次请求客户端来源、执行服务器信息、执行状态信息、等待事件以及执行各阶段耗时等。

sql_audit 相关设置

  • 设置 sql_audit 使用开关。

    obclient>ALTER SYSTEM SET enable_sql_audit = true;
    /*开启 sql_audit*/
    
    obclient>ALTER SYSTEM SET enable_sql_audit = false;
    /*关闭 sql_audit*/
  • 设置 sql_audit 内存上限。默认内存上限为 3 G,可设置范围为 [64M,+∞]。

    obclient>ALTER SYSTEM SET sql_audit_memory_limit = '3G';

sql_audit 淘汰机制

  • sql_audit 每隔 1s 会检测后台任务并根据以下标准决定是否淘汰:

    • sql_audit 内存最大可使用上限为 avail_mem_limit = min (OBServer 可使用内存 *10%sql_audit_memory_limit)

      • 当 avail_mem_limit 在 [64M, 100M] 范围内时, 内存使用达到 avail_mem_limit-20M 时触发淘汰。

      • 当 avail_mem_limit 在 [100M, 5G] 范围内时, 内存使用达到 availmem_limit*0.8 时触发淘汰。

      • 当 avail_mem_limit 在 [5G, +∞)范围内时, 内存使用达到 availmem_limit-1G 时触发淘汰。

    • 当 sql_audidt 记录数超过 900 万条时,触发淘汰。

  • sql_audit 根据以下标准决定是否停止淘汰:

    • 如果是达到内存上限触发淘汰则:

      • 当 avail_mem_limit 在 [64M, 100M] 时, 内存使用淘汰到 avail_mem_limit-40M 时停止淘汰。

      • 当 avail_mem_limit 在 [100M, 5G] 时, 内存使用淘汰到 availmem_limit*0.6 时停止淘汰。

      • 当 avail_mem_limit 在 [5G, +∞] 时, 内存使用淘汰到 availmem_limit-2G 时停止淘汰。

    • 如果是达到记录数上限触发的淘汰则淘汰到 800 万行记录时停止淘汰。

sql_audit 字段解释

字段名称

类型

描述

SVR_IP

varchar(32)

IP 地址

SVR_PORT

bigint(20)

端口号

REQUEST_ID

bigint(20)

请求的 ID 号

TRACE_ID

varchar(128)

这条语句的 trace ID

CLIENT_IP

varchar(32)

发送请求的 client IP

CLIENT_PORT

bigint(20)

发送请求的 client port

TENANT_ID

bigint(20)

发送请求的租户 ID

TENANT_NAME

varchar(64)

发送请求的租户名称

USER_ID

bigint(20)

发送请求的用户 ID

USER_NAME

varchar(64)

发送请求的用户名称

SQL_ID

varchar(32)

这条 SQL 的 ID

QUERY_SQL

varchar(32768)

实际的 SQL 语句

PLAN_ID

bigint(20)

执行计划 ID

AFFECTED_ROWS

bigint(20)

影响行数

RETURN_ROWS

bigint(20)

返回行数

PARTITION_CNT

bigint(20)

该请求涉及的分区数

RET_CODE

bigint(20)

执行结果返回码

EVENT

varchar(64)

最长等待事件名称

P1TEXT

varchar(64)

等待事件参数 1

P1

bigint(20) unsigned

等待事件参数 1 的值

P2TEXT

varchar(64)

等待事件参数 2

P2

bigint(20) unsigned

等待事件参数 2 的值

P3TEXT

varchar(64)

等待事件参数 3

P3

bigint(20) unsigned

等待事件参数 3 的值

LEVEL

bigint(20)

等待事件的 level 级别

WAIT_CLASS_ID

bigint(20)

等待事件所属的 class ID

WAIT_CLASS#

bigint(20)

等待事件所属的 class 的下标

WAIT_CLASS

varchar(64)

等待事件所属的 class 名称

STATE

varchar(19)

等待事件的状态

WAIT_TIME_MICRO

bigint(20)

该等待事件所等待的时间(微秒)

TOTAL_WAIT_TIME_MICRO

bigint(20)

执行过程所有等待的总时间(微秒)

TOTAL_WAITS

bigint(20)

执行过程总等待的次数

RPC_COUNT

bigint(20)

发送 RPC 个数

PLAN_TYPE

bigint(20)

执行计划类型(local/ remote/distribute)

IS_INNER_SQL

tinyint(4)

是否为内部 SQL 请求

IS_EXECUTOR_RPC

tinyint(4)

当前请求是否为 RPC 请求

IS_HIT_PLAN

tinyint(4)

是否命中计划缓存

REQUEST_TIME

bigint(20)

开始执行时间点

ELAPSED_TIME

bigint(20)

接收到请求到执行结束消耗总时间

NET_TIME

bigint(20)

发送 RPC 到接收到请求时间

NET_WAIT_TIME

bigint(20)

接收到请求到进入队列时间

QUEUE_TIME

bigint(20)

请求在队列等待事件

DECODE_TIME

bigint(20)

出队列后 decode 时间

GET_PLAN_TIME

bigint(20)

开始执行到获得计划时间

EXECUTE_TIME

bigint(20)

plan 执行消耗时间

APPLICATION_WAIT_TIME

bigint(20) unsigned

所有 application 类事件的总时间

CONCURRENCY_WAIT_TIME

bigint(20) unsigned

所有 concurrency 类事件的总时间

USER_IO_WAIT_TIME

bigint(20) unsigned

所有 user_io 类事件的总时间

SCHEDULE_TIME

bigint(20) unsigned

所有 schedule 类事件的时间

ROW_CACHE_HIT

bigint(20)

行缓存命中次数

BLOOM_FILTER_CACHE_HIT

bigint(20)

bloom filter 缓存命中次数

BLOCK_CACHE_HIT

bigint(20)

块缓存命中次数

BLOCK_INDEX_CACHE_HIT

bigint(20)

块索引缓存命中次数

DISK_READS

bigint(20)

物理读次数

EXECUTION_ID

bigint(20)

执行 ID

SESSION_ID

bigint(20)

SESSION 的 ID

RETRY_CNT

bigint(20)

重试次数

TABLE_SCAN

tinyint(4)

判断该请求是否含全表扫描

CONSISTENCY_LEVEL

bigint(20)

一致性级别

MEMSTORE_READ_ROW_COUNT

bigint(20)

MEMSTORE 中读的行数

SSSTORE_READ_ROW_COUNT

bigint(20)

SSSTORE 中读的行数

REQUEST_MEMORY_USED

bigint(20)

该请求消耗的内存

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/275747.html<

(0)
管理的头像管理
上一篇2025-05-10 08:23
下一篇 2025-05-10 08:24

相关推荐

  • 骨干网络体系结构能干什么?骨干网络体系结构的作用

    骨干网络体系结构是现代信息社会的“超级高速公路网”,它通过分层设计、冗余备份和智能调度,确保海量数据在全球范围内高速、稳定、安全地传输,是支撑云计算、物联网及人工智能应用的底层基石,想象一下,如果你把互联网比作一个巨大的城市交通系统,那么骨干网络就是连接各个城市的主干道和立交桥,没有它,你的每一次微信发送、每一……

    2026-06-18
    0
  • 高io数据库可以干什么用?高io数据库适合什么场景

    高IO数据库的核心价值在于通过极高的读写吞吐量,解决海量数据场景下的性能瓶颈,是支撑高并发交易、实时分析及大规模内容分发的关键基础设施,在数字化转型的深水区,数据不再仅仅是静态的记录,而是流动的资产,传统的机械硬盘或普通SSD早已无法满足现代应用对速度的极致追求,高IO(Input/Output)数据库,就是那……

    2026-06-18
    0
  • 高io服务器性能如何?高io服务器适合什么场景

    高IO服务器并非单纯指代某种硬件,而是指在随机读写、高并发连接及小文件处理场景下,具备极致IOPS(每秒输入输出操作次数)和低延迟特性的计算资源,它是支撑现代高并发应用稳定运行的核心基石,在2026年的数字化浪潮中,业务负载早已从简单的静态页面展示演变为复杂的实时数据处理,许多开发者在排查系统瓶颈时,往往忽略了……

    2026-06-18
    0
  • 隔离网络空间哪里便宜?国内隔离网络空间价格

    隔离网络空间并没有统一的“便宜”标准,其成本高度取决于物理隔离等级、带宽需求及安全合规要求,通常物理网闸方案初期投入较高但长期运维成本低,而逻辑隔离方案虽初期便宜但存在潜在安全风险,建议根据业务敏感度选择混合隔离架构以平衡成本与安全,在数字化时代,企业构建独立网络环境的需求日益增长,但“隔离网络空间哪里便宜”这……

    2026-06-18
    0
  • 骨干网络体系结构设备为何故障?常见原因有哪些

    骨干网络体系结构设备故障的核心原因通常归结为硬件老化、配置错误、物理链路中断及外部攻击四大类,其中电源模块失效与光模块性能衰减是占比最高的隐性故障源,骨干网作为数字经济的“大动脉”,其稳定性直接关乎国计民生,当核心路由器或交换机出现丢包、震荡甚至宕机时,运维人员往往面临巨大的压力,很多人第一反应是检查软件配置……

    2026-06-18
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注