基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
oceanbase.DBA_OB_VECTOR_INDEX_TASKS
更新时间:2026-08-18 15:31:44
说明
该视图从 V4.4.1 版本开始引入。
功能描述
视图 DBA_OB_VECTOR_INDEX_TASKS 展示了当前租户下所有向量索引相关后台任务的信息,包括分区重建、Segment 转储与合并、IVF 聚类中心加载与清理、语义索引刷新、内存同步等,可通过视图中的 TASK_TYPE 字段区分任务类型。
字段说明
| 字段名称 | 字段类型 | 是否可以为 NULL | 描述 |
|---|---|---|---|
| TABLE_ID | bigint(20) | YES | 表 ID |
| TABLET_ID | bigint(20) | YES | 分区 ID |
| TASK_ID | bigint(20) | YES | 任务 ID |
| CREATE_TIME | timestamp(6) | YES | 任务创建时间
说明该字段从 V4.6.0 BP1 版本开始支持。 |
| MODIFY_TIME | timestamp(6) | YES | 任务更新时间。每次更新表中该行记录时自动刷新说明该字段从 V4.6.0 BP1 版本开始含义由任务结束时间变为任务更新时间。 |
| TRIGGER_TYPE | varchar(16) | NO | 任务触发类型:
说明从 V4.6.0 BP1 版本开始,该字段由数值改为字符串枚举展示。 |
| STATUS | varchar(16) | NO | 任务状态:
说明从 V4.6.0 BP1 版本开始,该字段由数值改为字符串枚举展示,并新增 |
| TASK_TYPE | varchar(64) | NO | 任务类型:
说明从 V4.6.0 BP1 版本开始,该字段由数值改为字符串枚举展示,并新增 |
| TASK_SCN | bigint(20) | NO | 任务版本号 |
| RET_CODE | bigint(20) | NO | 任务结束时候的状态:
|
| TRACE_ID | varchar(512) | NO | 任务执行追踪 ID |
| PROGRESS_INFO | varchar(512) | NO | 任务执行进度信息,以 JSON 格式展示。通常包括当前操作、预估行数、已完成行数、完成百分比、预估剩余时间等。该信息每 10 秒更新一次。Json 字符串,包含 status、estimated_row、finished_row、progress、time_remaining(s) 字段:
|
| TASK_INFO | longtext | NO | 任务的详细进度信息。以 JSON 格式展示,内容包括对合并数据段(Segment)任务的中各个 Segment 的详细信息,如 SCN、Key 范围、索引及内存占用信息等;对于分区级索引重建、增量 Segment 合并等内存消耗较大的任务,还可能包含 mem_limit_info 段,记录内存限流相关信息(内存限流从 V4.6.0 BP1 版本开始支持)。便于全面了解任务执行过程。 |
| EXEC_ADDR | varchar(52) | YES | 执行该任务的节点(格式为 ip:port),用于标识任务实际运行的服务器地址,默认为空。
说明该字段从 V4.6.0 BP1 版本开始支持。 |
| PRIORITY | int | NO | 任务优先级,数值越小优先级越高,依次递减。默认值为 0。
说明该字段从 V4.6.0 BP1 版本开始支持。 |
| START_TIME | timestamp(6) | YES | 任务开始执行时间,默认为空。 |
| END_TIME | timestamp(6) | YES | 任务执行结束时间,默认为空。
说明该字段从 V4.6.0 BP1 版本开始支持。 |
| ERR_MSG | varchar(1024) | YES | 任务失败时的错误信息,默认为空。
说明该字段从 V4.6.0 BP1 版本开始支持。 |
查询示例
完整示例
系统租户下,查看所有租户的向量索引性能优化任务信息。
SELECT * FROM oceanbase.DBA_OB_VECTOR_INDEX_TASKS ORDER BY MODIFY_TIME DESC\G;
查询结果如下:
*************************** 1. row ***************************
TABLE_ID: 500178
TABLET_ID: 1152921504606847126
TASK_ID: 14556
CREATE_TIME: 2026-03-25 23:42:43.330766
MODIFY_TIME: 2026-03-25 23:42:43.332887
TRIGGER_TYPE: USER
STATUS: RUNNING
TASK_TYPE: INCREMENTAL_INDEX_FREEZE
TASK_SCN: -1
RET_CODE: -1
TRACE_ID: Y2C277F000001-00064DDA41D11952-0-1
PROGRESS_INFO: NULL
TASK_INFO: NULL
EXEC_ADDR: 11.xxx.xx.xx:30510
PRIORITY: 0
START_TIME: 2026-03-25 23:42:43.331200
END_TIME: NULL
ERR_MSG: NULL
1 row in set
TASK_INFO 字段 JSON 字符串说明:
| 字段名 | JSON 字段类型 | 含义 |
|---|---|---|
| merge_segments_cnt | string | 需要被合并的 Segment 数量 |
| merge_segments | array | 合并前的 Segment 信息,数量和 merge_segments_cnt 相等 |
| result_segments | array | 合并后的 Segment 结果信息 |
| scn | string | 内部时间戳 |
| start_key | string | Segment 存储范围的上界 |
| end_key | string | Segment 存储范围的下界 |
| index_type | string | Segment 处理向量的索引类型,包含值有:
|
| mem_used | string | Segment 使用的内存 |
| mem_limit_info | object | 内存限流相关信息,包含 task_memory_limited、vector_mem_hold、vector_mem_limit、task_estimate_memory、tasks_total_reserved_memory 等字段。仅在分区级索引重建、增量 Segment 合并等内存消耗较大的任务中可能出现。 |
| min_vid | string | Segment 最小的向量 ID |
| max_vid | string | Segment 最大的向量 ID |
查看内存限流信息
对于分区级索引重建、增量 Segment 合并等内存消耗较大的任务,任务信息中可能包含 mem_limit_info 段,记录内存限流相关信息。可通过以下 SQL 查询内存预估与限流信息:
SELECT
TABLET_ID,
TASK_TYPE,
JSON_EXTRACT(TASK_INFO, '$.mem_limit_info.task_estimate_memory') AS estimate_mem,
JSON_EXTRACT(TASK_INFO, '$.mem_limit_info.vector_mem_hold') AS mem_hold,
JSON_EXTRACT(TASK_INFO, '$.mem_limit_info.vector_mem_limit') AS mem_limit,
JSON_EXTRACT(TASK_INFO, '$.mem_limit_info.task_memory_limited') AS was_throttled
FROM OCEANBASE.DBA_OB_VECTOR_INDEX_TASKS
WHERE TASK_TYPE = 'PARTITION_REBUILD';
mem_limit_info 字段的子字段详细说明如下:
| 子字段 | 单位 | 说明 |
|---|---|---|
task_memory_limited |
是否触发过内存限流(true/false) | |
vector_mem_hold |
字节 | 任务调度时租户向量内存已使用量 |
vector_mem_limit |
字节 | 租户向量内存总限额 |
task_estimate_memory |
字节 | 当前任务的预估内存需求 |
tasks_total_reserved_memory |
字节 | 其他运行中任务的总预留内存 |
相关视图或文档
- DBA_OB_VECTOR_INDEX_TASKS
- HNSW 向量索引转储、合并与任务类型的关系,请参见 向量索引原理
- 运维与手动触发说明,请参见 索引监控与维护