基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
V$OB_SQL_PLAN
更新时间:2026-07-16 19:52:05
说明
该视图从 V4.2.0 版本开始引入。
功能描述
展示当前租户在当前 OBServer 节点上通过执行 EXPLAIN PLAN 收集到的计划信息。
字段说明
| 字段名称 | 类型 | 是否可以为 NULL | 描述 |
|---|---|---|---|
| TENANT_ID | bigint(20) | NO | 计划信息所属的租户 ID
说明该字段从 V4.3.5 BP1 版本开始引入。 |
| DB_ID | NUMBER(38) | NO | 计划 ID |
| SQL_ID | VARCHAR2(32) | NO | 查询 ID |
| PLAN_HASH | NUMBER(38) | NO | 查询所属的 Schema ID |
| PLAN_ID | NUMBER(38) | NO | 计划的哈希值 |
| GMT_CREATE | TIMESTAMP(6) WITH LOCAL TIME ZONE | NO | 记录生成时间 |
| OPERATOR | VARCHAR2(255) | NO | 算子名称(例如:TABLE SCAN、SORT) |
| OBJECT_NODE | VARCHAR2(40) | NO | 如果当前算子是 DBLINK 相关,则表示 dblink 的名称 |
| OBJECT_ID | NUMBER(38) | NO | 扫描对象 ID(例如:TABLE SCAN 算子扫描的物理表 ID) |
| OBJECT_OWNER | VARCHAR2(128) | NO | 扫描对象所属用户 |
| OBJECT_NAME | VARCHAR2(128) | NO | 扫描对象名称(例如:TABLE SCAN 算子扫描的物理表名称) |
| OBJECT_ALIAS | VARCHAR2(261) | NO | 扫描对象别名(例如:TABLE SCAN 算子扫描的物理表的别名) |
| OBJECT_TYPE | VARCHAR2(20) | NO | 扫描对象类型(例如:SYNONYM、DBLINK、BASIC TABLE) |
| OPTIMIZER | VARCHAR2(4000) | NO | 索引相关信息(例如:物理行、逻辑行、回表行数、使用的统计信息类型,统计信息版本号) |
| ID | NUMBER(38) | NO | 逻辑算子 ID |
| PARENT_ID | NUMBER(38) | NO | 逻辑算子的父算子 ID |
| DEPTH | NUMBER(38) | NO | 逻辑算子在当前计划的深度,即处在二叉计划树的第几层 |
| POSITION | NUMBER(38) | NO | 当前逻辑算子是父算子的第几个子节点的算子 |
| COST | NUMBER(38) | NO | 优化器估算的代价 |
| REAL_COST | NUMBER(38) | NO | 计划第一次执行时真实的代价(执行反馈信息) |
| CARDINALITY | NUMBER(38) | NO | 优化器估算当前算子的输出行数 |
| REAL_CARDINALITY | NUMBER(38) | NO | 计划第一次执行时当前算子的真实输出行数(执行反馈信息) |
| IO_COST | NUMBER(38) | NO | 计划第一次执行时当前算子的实际 IO 开销(执行反馈信息) |
| CPU_COST | NUMBER(38) | NO | 计划第一次执行时当前算子的实际 CPU 开销(执行反馈信息) |
| BYTES | NUMBER(38) | NO | 优化器估算当前算子数据的宽度 |
| ROWSET | NUMBER(38) | NO | 当前算子的向量化大小 |
| OTHER_TAG | VARCHAR2(4000) | NO | 当前查询使用过的 Hint,只在计划的第一行记录存放 |
| PARTITION_START | VARCHAR2(4000) | NO | TABLE SCAN 扫描的分区信息 |
| OTHER | VARCHAR2(4000) | NO | 优化信息,例如:计划类型、Fast Parser 的参数化信息、Plan Note、计划命中的约束信息 |
| ACCESS_PREDICATES | VARCHAR2(4000) | NO | 当前算子需要访问的表达式信息 |
| FILTER_PREDICATES | VARCHAR2(4000) | NO | 当前算子的过滤条件 |
| STARTUP_PREDICATES | VARCHAR2(4000) | NO | 当前算子的启动条件 |
| PROJECTION | VARCHAR2(4000) | NO | 当前算子的输出表达式信息 |
| SPECIAL_PREDICATES | VARCHAR2(4000) | NO | 当前算子的特有表达式信息,例如:Join Condition、GROUP EXPRS、SORT EXPRS 等等 |
| QBLOCK_NAME | VARCHAR2(128) | NO | 当前算子所处查询块的名称 |
| REMARKS | VARCHAR2(4000) | NO | qb_name 的修改追踪信息 |
| OTHER_XML | VARCHAR2(4000) | NO | OUTLINE DATA |
查询示例
用户租户下,查看本租户在当前节点上通过执行 EXPLAIN PLAN 收集到的计划信息,展示 1 条记录。
obclient [SYS]> SELECT * FROM SYS.V$OB_SQL_PLAN WHERE ROWNUM <= 1\G
查询结果如下:
*************************** 1. row ***************************
TENANT_ID: 1004
DB_ID: 201006
SQL_ID: 87608EF09AC3942892896C42F7792955
PLAN_HASH: 3290318591324336132
PLAN_ID: 3598
GMT_CREATE: 25-MAR-25 10.00.05.020265 PM
OPERATOR: DISTRIBUTED INSERT
OBJECT_NODE: NULL
OBJECT_ID: 0
OBJECT_OWNER: NULL
OBJECT_NAME: NULL
OBJECT_ALIAS: NULL
OBJECT_TYPE: NULL
OPTIMIZER: NULL
ID: 0
PARENT_ID: -1
DEPTH: 0
POSITION: 1
COST: 13
REAL_COST: 0
CARDINALITY: 1
REAL_CARDINALITY: 0
IO_COST: 0
CPU_COST: 84
BYTES: 0
ROWSET: 1
OTHER_TAG: /*+
*/
PARTITION_START: NULL
OTHER: Plan Type:
LOCAL
Note:
Degree of Parallelisim is 1 because of table property
ACCESS_PREDICATES: NULL
FILTER_PREDICATES: NULL
STARTUP_PREDICATES: NULL
PROJECTION: NULL
SPECIAL_PREDICATES: columns([{DBMS_SCHEDULER_T1: ({DBMS_SCHEDULER_T1: (DBMS_SCHEDULER_T1.__pk_increment, DBMS_SCHEDULER_T1.COL)})}]),
column_values([T_HIDDEN_PK], [column_conv(DATE,PS:(19,0),NULL,__values.COL)])
QBLOCK_NAME: INS$1
REMARKS: stmt_id:0, INS$1
OTHER_XML: /*+
BEGIN_OUTLINE_DATA
USE_DISTRIBUTED_DML(@"INS$1")
OPTIMIZER_FEATURES_ENABLE('4.3.5.1')
END_OUTLINE_DATA
*/
1 row in set