A. GV$OB_SQL_AUDIT 记录所有租户下执行完成的 SQL 请求,但只保留最近 1 小时的数据,超过时间的历史记录会被系统自动清理,无法查询。
B. SQL Audit 中记录了每个 SQL 的执行时间、等待事件、返回行数、扫描行数、重试次数等关键信息,可用于定位慢查询和排查故障。
C. 只有使用 OBProxy 接入的 SQL 才会被记录在 SQL Audit 中,直连 OBServer 的 SQL 请求不会被记录,因为审计点位于 OBProxy 层。
D. 用户可以通过 ALTER SYSTEM SET ob_sql_audit_percentage = 20 调整 SQL Audit 占租户内存的百分比,修改后需要重启 OBServer 生效。
解析 :
GV$OB_SQL_AUDIT 是 OceanBase 中最核心的性能诊断视图之一,记录了每个已完成 SQL 请求的详细信息,包括:执行时间(elapsed_time )、排队时间(queue_time )、返回行数(return_rows )、扫描行数(scan_rows )、物理读次数(physical_reads )、等待事件(wait_class 、wait_event )、是否重试(is_retry )等。通过分析这些字段,可以快速定位慢查询、全表扫描、锁等待等问题。
-
A 错误 :SQL Audit 记录的保留时间由租户参数
ob_sql_audit_retention_seconds 控制,默认保留 1 天(86400 秒) ,不是 1 小时。且清理策略是循环覆盖,用户可配置。
-
B 正确 :概括了 SQL Audit 的核心功能。
-
C 错误 :无论 OBProxy 还是直连 OBServer ,所有 SQL 请求都会被记录在 SQL Audit 中。审计点位于 OBServer 的执行引擎层,与接入方式无关。
-
D 错误 :
ob_sql_audit_percentage 参数支持动态修改 ,无需重启 OBServer。系统会按新比例重新分配内存。
可可可
#4
B. SQL Audit 中记录了每个 SQL 的执行时间、等待事件、返回行数、扫描行数、重试次数等关键信息,可用于定位慢查询和排查故障。
1 个赞