---
title: "查看审计记录 - OceanBase Database AI V4.6.2 | OceanBase 文档中心"
description: 查看审计记录 审计记录只支持通过日志方式持久化，目前审计记录写日志的实现是通过写系统日志来实现的，每个业务租户有一个后台线程负责打印审计日志。 审计日志格式 审计日志样例如下： &quot;xx.xx.xx.xx&quot;,57000,0,3615915,&quot;&quot;,3221487702,&quot;xx.xx.xx.xx&quot;,33281,1006,&quot;…
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*inJjSpyNOjUAAAAAHtAAAAgAeiGDAQ/original) OceanBase Database AIV 4.6.2

# 查看审计记录

更新时间：2026-08-13 19:27:47

[编辑](https://github.com/oceanbase/oceanbase-database-ai/edit/V4.6.2/zh-CN/600.manage/500.security-and-permissions/600.security-audit/200.security-audit-of-mysql-mode/400.audit-records-of-mysql-mode.md)  

审计记录只支持通过日志方式持久化，目前审计记录写日志的实现是通过写系统日志来实现的，每个业务租户有一个后台线程负责打印审计日志。

## 审计日志格式

审计日志样例如下：

```shell
"xx.xx.xx.xx",57000,0,3615915,"",3221487702,"xx.xx.xx.xx",33281,1006,"audit_mysql",1006,500002,"admin",0,"xx.xx.xx.xx",500001,"test","B9DBED5D556A12ADAE8EB1650B9761E9","table_access","        SELECT id, k, c, pad\n          FROM sbtest\n          WHERE k IN (78154, 78112, 77817, 78105, 78504, 78111, 78155, 78141, 78145, 78113)\n        ",324,0,10,2,0,0,0,0,0,0,0,0,0,1,0,0,1,1700012758556689,364,0,1,46,1,47,259,0,0,0,0,10,0,20,0,0,0,3,0,20,10,10,20,10,0,0,0,139264,0,0,"",0,-1,-1,0,1700012758543334815,2,0,"",-7363743333437867606,0,"","",1,0,0,"00060a27-1096-5dc2-fa04-cea1f06b019a"
"xx.xx.xx.xx",57000,0,3615914,"",3221487709,"xx.xx.xx.xx",33293,1006,"audit_mysql",1006,500002,"admin",0,"xx.xx.xx.xx",500001,"test","B9DBED5D556A12ADAE8EB1650B9761E9","table_access","        SELECT id, k, c, pad\n          FROM sbtest\n          WHERE k IN (34851, 34386, 34384, 34393, 34974, 34566, 34397, 34379, 33844, 34353)\n        ",324,0,10,2,0,0,0,0,0,0,0,0,0,1,0,0,1,1700012758556662,417,0,1,7,1,37,362,0,0,0,0,10,0,20,0,0,0,3,0,20,10,10,20,10,0,0,0,131072,0,0,"",0,-1,-1,0,1700012758543334815,2,0,"",-7363743333437867606,0,"","",1,0,0,"00060a27-1096-5dc2-131b-e7f9c98dd9d9"

```

## 日志字段解释

审计记录的字段在现有 `[G]V$OB_SQL_AUDIT` 视图的字段上进行提取，但又与之有些差异：

- 增加 `EVENT_CLASS` 字段，用于标识审计事件类型，取值包含 `connection`，`table_access`，`general` 和过滤器的定义保持一致。
 - 只记录用户 Session 的请求，内部发起的 SQL 日志不记录。
 - Query SQL 会转换为 `utf8` 并且转义后输出。对于登录登出事件，会记录 `LOGON`/`LOGOFF`。
 - 对于超长 SQL，在异步打印日志时会使用当前线程的 Allocator 来分配内存，且回退为同步打印。

审计日志的具体字段列表如下，其中类型只影响打印格式，只有字符串和整型两种类型，且字符串类型会用引号括起来。

| **字段名称** | **类型** | **描述** |
| --- | --- | --- |
| SVR_IP | varchar(46) | IP 地址 |
| SVR_PORT | bigint(20) | 端口号 |
| REQUEST_ID | bigint(20) | 请求的 ID 号 |
| SQL_EXEC_ID | bigint(20) | 单机单调递增的执行 ID |
| TRACE_ID | varchar(128) | 该语句的 trace_id |
| SID | bigint(20) unsigned | Session 连接 ID |
| CLIENT_IP | varchar(46) | - 当客户端通过 ODP 与 OBServer 连接时，表示转发请求的 ODP 的 IP - 当客户端直接与 OBServer 连接时，表示发送请求的客户端的 IP |
| CLIENT_PORT | bigint(20) | 发送请求的客户端端口号 |
| TENANT_ID | bigint(20) | 发送请求的租户 ID |
| TENANT_NAME | varchar(64) | 发送请求的租户名称 |
| EFFECTIVE_TENANT_ID | bigint(20) | 租户 ID |
| USER_ID | bigint(20) | 发送请求的用户 ID |
| USER_NAME | varchar(64) | 发送请求的用户名称 |
| USER_GROUP | bigint(20) | 用户所属资源组 ID |
| USER_CLIENT_IP | varchar(46) | 发送请求的客户端的 IP |
| EVENT_CLASS | varchar(128) | 事件类型，用于区分非 SQL语句 |
| DB_ID | bigint(20) unsigned | 数据库 ID |
| DB_NAME | varchar(128) | 数据库名称 |
| SQL_ID | varchar(32) | 该 SQL 的 ID |
| QUERY_SQL | longtext | 实际的 SQL 语句 |
| PLAN_ID | bigint(20) | 执行计划的 ID |
| AFFECTED_ROWS | bigint(20) | 影响行数 |
| RETURN_ROWS | bigint(20) | 返回行数 |
| PARTITION_CNT | bigint(20) | 该请求涉及的分区数 |
| RET_CODE | bigint(20) | 执行结果返回码： - 0：表示没有错误，语句成功执行 - 其他返回码：表示 OceanBase 错误码。 |
| QC_ID | bigint(20) unsigned | 并行执行场景下，调度器 ID |
| DFO_ID | bigint(20) | 并行执行场景下，当前执行的子计划 ID |
| SQC_ID | bigint(20) | 并行执行场景下，本地协调器 ID |
| WORKER_ID | bigint(20) | 并行执行场景下，工作线程 ID |
| 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) | 等待事件的级别 |
| 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) | 是否命中 plan_cache |
| 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) | 开始 Process 到获得计划的时间，单位：微秒 |
| EXECUTE_TIME | bigint(20) | 计划执行所消耗的时间，单位：微秒 |
| 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) | 块缓存命中次数 |
| DISK_READS | bigint(20) | 物理读次数 |
| RETRY_CNT | bigint(20) | 重试次数 |
| TABLE_SCAN | tinyint(4) | 判断该请求是否含全表扫描 |
| CONSISTENCY_LEVEL | bigint(20) | 一致性级别，取值如下：   - `-1`：无效 - `1`：指定读存储在 SSTable 中的数据 - `2`：弱一致性读 - `3`：强一致性读 |
| MEMSTORE_READ_ROW_COUNT | bigint(20) | MemStore 中的读行数 |
| SSSTORE_READ_ROW_COUNT | bigint(20) | SSStore 中连读的行数 |
| DATA_BLOCK_READ_CNT | bigint(20) | 访问的数据微块数量 |
| DATA_BLOCK_CACHE_HIT | bigint(20) | 命中数据微块 Cache 数量 |
| INDEX_BLOCK_READ_CNT | bigint(20) | 访问的中间层微块数量 |
| INDEX_BLOCK_CACHE_HIT | bigint(20) | 命中中间层微块 Cache 数量 |
| BLOCKSCAN_BLOCK_CNT | bigint(20) | 单边扫描的数据微块数量 |
| BLOCKSCAN_ROW_CNT | bigint(20) | 单边扫描的数据行数 |
| PUSHDOWN_STORAGE_FILTER_ROW_CNT | bigint(20) | 下压存储 Filter 过滤后行数 |
| REQUEST_MEMORY_USED | bigint(20) | 该请求消耗的内存 |
| EXPECTED_WORKER_COUNT | bigint(20) | 请求期望的工作线程数 |
| USED_WORKER_COUNT | bigint(20) | 请求实际使用的工作线程数 |
| SCHED_INFO | varchar(16384) | 请求的调度信息 |
| FUSE_ROW_CACHE_HIT | bigint(20) | 暂不支持该字段，字段默认为 NULL |
| PS_CLIENT_STMT_ID | bigint(20) | 请求对应的 Prepare ID：   - `-1`：表示 SQL 语句没有使用 PS 协议 - 非 `-1`：表示 SQL 语句使用了 PS 协议，为 PS 协议在客户端对该语句返回的唯一标志 |
| PS_INNER_STMT_ID | bigint(20) | 请求对应的 Prepare ID：   - `-1`：表示 SQL 语句没有使用 PS 协议 - 非 `-1`：表示 SQL 语句使用了 PS 协议，为 PS 协议在内部对该语句返回的唯一标志 |
| TX_ID | bigint(20) | 请求对应的事务的 Hash 值 |
| SNAPSHOT_VERSION | bigint(20)unsigned | 当前语句的快照读版本号 |
| REQUEST_TYPE | bigint(20) | 请求对应的类型：   - 0：表示非法 - 1：表示是一个内部请求 - 2：表示是一个本地请求，例如，Local 计划 - 3：表示远程请求 - 4：表示分布式请求 - 5：表示 SQL 的 Prepare 请求 - 6：表示 SQL 的 Execute Stmt 请求 - 7: 表示 SQL 得到 Fetch 请求 - 8: 表示 SQL 得到 `send_piece` 请求 - 9: 表示 SQL 得到 `get_piece` 请求 - 10: 表示 SQL 得到 `send_long_data` 请求 - 11: 表示当前 SQL 是 PL 调用的内部 SQL |
| IS_BATCHED_MULTI_STMT | tinyint(4) | 是否进行 Batch Multi Stmt 的优化 |
| OB_TRACE_INFO | varchar(4096) | 用户设置的 Trace 信息 |
| PLAN_HASH | bigint(20) unsigned | 执行计划的 Hash 值 |
| LOCK_FOR_READ_TIME | bigint(20) | 读取数据时等待锁的耗时，单位：微秒 |
| PARAMS_VALUE | longtext | PS 执行期参数值 |
| FLT_TRACE_ID | varchar(1024) | 表示该条记录全链路追踪的 trace_id，如果为空，则说明没有被全链路追踪监控。该字段是 Uuid，不同于 Trace。其表示形式类似于：`000600d6-a5de-038c-6c80-df07e4e79149` |

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
