首批通过分布式安全可靠测评,为关键业务系统打造
DTL 中间结果监控 dtl_interm_result_monitor
更新时间:2026-06-16 09:21
在单 DFO 调度和 TempTableAccess 场景中,我们使用 DTL 中间结果管理器在 DFO 间传递数据,或者保存 TempTable 的数据。使用中间结果管理器会占用一定的内存,发生落盘时会将内存中的数据写到磁盘上,落盘会对性能产生一定的影响。
为了让使用者方便地查看中间结果管理器的内存使用情况,以及在性能抖动时判断是否与落盘有关,OceanBase 数据库 V3.2.4 版本引入了虚拟表和性能视图来监控 DTL 中间结果。
- 虚拟表
__all_virtual_dtl_interm_result_monitor - 性能视图
- V3.2.4:
(g)v$dtl_interm_result_monitor - V4.x:
(g)v$ob_dtl_interm_result_monitor
- V3.2.4:
虚拟表 __all_virtual_dtl_interm_result_monitor 介绍
| 字段名 | 含义 |
|---|---|
| svr_ip | server ip |
| svr_port | server port |
| tenant_id | 租户 ID |
| trace_id | trace id |
| owner | 中间结果的使用者 |
| start_time | 写中间结果的时间 |
| expire_time | 中间结果超时时间 |
| hold_memory | 占用的内存大小 |
| dump_size | dump 的大小 |
| dump_cost | dump 花费的时间 |
| dump_time | dump 的时间点 |
| dump_fd | dump 文件的 fd |
| dump_dir_id | dump 文件的目录 ID |
| channel_id | dtl channel id |
| qc_id | 发送者的 qc id |
| dfo_id | 发送者的 dfo id |
| sqc_id | 发送者的 sqc id |
| batch_id | px batch rescan 场景,batch 中的第几个 |
| max_used_memory | 最大占用内存大小 |
虚拟表 __all_virtual_dtl_interm_result_monitor 查询示例

适用版本
OceanBase 数据库 V3.2.4 及以后的版本(包含 V4.x)。