首批通过分布式安全可靠测评,为关键业务系统打造
GV$OB_PLAN_CACHE_PLAN_STAT
更新时间:2026-07-15 20:42:46
说明
该视图从 V4.0.0 版本开始视图名由 GV$PLAN_CACHE_PLAN_STAT 调整为 GV$OB_PLAN_CACHE_PLAN_STAT。
功能描述
视图 GV$OB_PLAN_CACHE_PLAN_STAT 展示当前租户在所有 OBServer 节点上的计划缓存中缓存的每一个缓存对象的状态。
注意
该视图不仅缓存了 SQL 计划对象,也缓存了 PL 对象(如匿名块、PL Package 以及 PL Function),某些字段只在特定对象下有效。
字段说明
| 字段名称 | 类型 | 是否可以为 NULL | 描述 |
|---|---|---|---|
| TENANT_ID | NUMBER(38) | NO | 租户 ID |
| SVR_IP | VARCHAR2(46) | NO | 机器的 IP |
| SVR_PORT | NUMBER(38) | NO | 机器端口号 |
| PLAN_ID | NUMBER(38) | NO | 缓存对象的 ID |
| SQL_ID | VARCHAR2(32) | NO | 缓存对象对应的 SQL ID,如果是 PL 对象,则该字段为 NULL |
| TYPE | NUMBER(38) | NO | 对于 SQL 计划的缓存,该字段表示计划的类型:
|
| IS_BIND_SENSITIVE | NUMBER(38) | NO | 该计划是否需要打开 ACS |
| IS_BIND_AWARE | NUMBER(38) | NO | 该计划已经打开了 ACS |
| DB_ID | NUMBER(38) | NO | 数据库的 ID |
| STATEMENT | CLOB | NO | 对于 SQL 计划,该字段为参数化后的 SQL 语句;对于匿名块对象,该字段为参数化后的匿名块语句;其他对象该字段无效 |
| QUERY_SQL | CLOB | NO | 对于 SQL 计划,字段为第一次加载计划时查询的原始 SQL 语句;对于匿名块字段,该字段为参数化后的匿名块语句 |
| SPECIAL_PARAMS | VARCHAR2(4096) | NO | 表示不可参数化的参数值 |
| PARAM_INFOS | CLOB | NO | 表示参数化信息 |
| SYS_VARS | VARCHAR2(4096) | NO | 影响缓存对象的系统变量的值 |
| PLAN_HASH | NUMBER(38) | NO | SQL 计划的 Hash 值 |
| FIRST_LOAD_TIME | TIMESTAMP(6) WITH LOCAL TIME ZONE | NO | 第一次被加载时间 |
| SCHEMA_VERSION | NUMBER(38) | NO | Schema 版本号 |
| LAST_ACTIVE_TIME | TIMESTAMP(6) WITH LOCAL TIME ZONE | NO | 上一次被执行时间 |
| AVG_EXE_USEC | NUMBER(38) | NO | 平均执行时间,单位为微秒 |
| SLOWEST_EXE_TIME | TIMESTAMP(6) WITH LOCAL TIME ZONE | NO | 最慢执行时间戳 |
| SLOWEST_EXE_USEC | NUMBER(38) | NO | 最慢一次执行耗时 |
| SLOW_COUNT | NUMBER(38) | NO | 当前 SQL 计划成为慢查询的次数 |
| HIT_COUNT | NUMBER(38) | NO | 被命中次数 |
| PLAN_SIZE | NUMBER(38) | NO | 缓存对象占用的内存大小 |
| EXECUTIONS | NUMBER(38) | NO | 执行次数 |
| DISK_READS | NUMBER(38) | NO | 所有执行物理读的次数 |
| DIRECT_WRITES | NUMBER(38) | NO | 所有执行写盘的次数 |
| BUFFERS_GETS | NUMBER(38) | NO | 所有执行逻辑读的次数 |
| APPLICATION_WAIT_TIME | NUMBER(38) | NO | 该请求执行过程中, 所有 Application 类事件的总时间,单位为微秒 |
| CONCURRENCY_WAIT_TIME | NUMBER(38) | NO | 该请求执行过程中, 所有 Concurrency 类事件的总时间,单位为微秒 |
| USER_IO_WAIT_TIME | NUMBER(38) | NO | 该请求执行过程中, 所有 user_io 类事件的总时间,单位为微秒 |
| ROWS_PROCESSED | NUMBER(38) | NO | 所有执行选择的结果行数或执行更改表中的行数 |
| ELAPSED_TIME | NUMBER(38) | NO | 所有执行接收到请求到执行结束消耗时间,单位为微秒 |
| CPU_TIME | NUMBER(38) | NO | 所有执行消耗的 CPU 时间,单位为微秒 |
| LARGE_QUERYS | NUMBER(38) | NO | 被判断为大查询的次数 |
| DELAYED_LARGE_QUERYS | NUMBER(38) | NO | 被判断为大查询且被丢入大查询队列的次数 |
| DELAYED_PX_QUERYS | NUMBER(38) | NO | 并行查询被丢回队列重试的次数 |
| OUTLINE_VERSION | NUMBER(38) | NO | Outline 版本号 |
| OUTLINE_ID | NUMBER(38) | NO | Outline 的 ID,为 -1 表示不是通过绑定 Outline 生成的计划 |
| OUTLINE_DATA | CLOB | NO | 计划对应的 Outline 信息 |
| HINTS_INFO | CLOB | NO | SQL 计划的 Hint 信息 |
| HINTS_ALL_WORKED | NUMBER(38) | NO | SQL 计划中的 Hint 是否都已经生效 |
| ACS_SEL_INFO | CLOB | NO | 当前 ACS 计划对应的选择率空间 |
| TABLE_SCAN | NUMBER(38) | NO | 表示该查询是否为主键扫描 |
| EVOLUTION | NUMBER(38) | NO | 表示该执行计划是否在演进中 |
| EVO_EXECUTIONS | NUMBER(38) | NO | 演进次数 |
| EVO_CPU_TIME | NUMBER(38) | NO | 演进过程中总的执行 CPU 时间,单位为微秒 |
| TIMEOUT_COUNT | NUMBER(38) | NO | 超时次数 |
| PS_STMT_ID | NUMBER(38) | NO | 请求对应的 Prepare ID: -1:表示 SQL 语句没有使用 PS 协议-1:表示 SQL 语句使用了 PS 协议,表示 PS 协议对该语句返回的唯一标志 |
| SESSID | NUMBER(38) | NO | 缓存对象所在的 Session ID 对于 V4.3.x 版本:
|
| TEMP_TABLES | CLOB | NO | SQL 计划中包含的临时表表名,如果没有临时表,字段为空 |
| IS_USE_JIT | NUMBER(38) | NO | SQL 计划是否开启了表达式编译执行 |
| OBJECT_TYPE | CLOB | NO | 缓存对象的类型: |
| PL_SCHEMA_ID | NUMBER(38) | NO | 对于非匿名块的 PL 对象,字段为缓存对象的 Schema ID;对于匿名块,字段与 ps_stmt_id 相同;对于 SQL 计划,该字段无意义 |
| IS_BATCHED_MULTI_STMT | NUMBER(38) | NO | 表示是否为 Batched Multi Stmt 优化的计划 |
| RULE_NAME | VARCHAR2(256) | NO | 表示规则名称。 |
| PLAN_STATUS | VARCHAR2(8) | NO | 表示当前计划的状态是 ACTIVE 还是 INACTIVE。 |
| ADAPTIVE_FEEDBACK_TIMES | NUMBER(38) | NO | 表示连续正反馈或者负反馈次数。 |
| FIRST_GET_PLAN_TIME | NUMBER(38) | NO | 表示查询硬解析的时间。 |
| FIRST_EXE_USEC | NUMBER(38) | NO | 表示查询第一次执行的时间。 |
查询示例
查询当前租户在所有 OBServer 节点上的计划缓存中缓存的每一个缓存对象的状态。
obclient [SYS]> SELECT * FROM SYS.GV$OB_PLAN_CACHE_PLAN_STAT WHERE ROWNUM =1\G
查询结果如下:
*************************** 1. row ***************************
TENANT_ID: 1004
SVR_IP: xxx.xx.xxx.xxx
SVR_PORT: 2882
PLAN_ID: 8
SQL_ID: D9EB4937E65F94AA38F6B0FE72B06D13
TYPE: 1
IS_BIND_SENSITIVE: 0
IS_BIND_AWARE: 0
DB_ID: 201001
STATEMENT: SELECT column_value FROM __all_core_table WHERE TABLE_NAME = ? AND COLUMN_NAME = ?
QUERY_SQL: SELECT column_value FROM __all_core_table WHERE TABLE_NAME = '__all_global_stat' AND COLUMN_NAME = 'snapshot_gc_scn'
SPECIAL_PARAMS: NULL
PARAM_INFOS: {1,0,0,-1,22},{1,0,0,-1,22}
SYS_VARS: 45,45,4194304,+08:00,2,4,1,0,0,3,1,0,1,10485760,1,0,YYYY-MM-DD HH24:MI:SS,YYYY-MM-DD HH24:MI:SS.FF,YYYY-MM-DD HH24:MI:SS.FF TZR TZD,BINARY,BINARY,AL32UTF8,AL16UTF16,BYTE,FALSE,1,100,64,200,0,13,NULL,1,1,1,1,1,0,0,0,1000,BLOOM_FILTER,RANGE,IN,1,17180000512,17180000512,1,0,0,45,0,0,2,
PLAN_HASH: 12254811659671915614
FIRST_LOAD_TIME: 23-JUL-25 02.41.18.001108 PM
SCHEMA_VERSION: 1
LAST_ACTIVE_TIME: 29-JUL-25 04.50.27.582284 PM
AVG_EXE_USEC: 450
SLOWEST_EXE_TIME: 25-JUL-25 02.00.11.264722 AM
SLOWEST_EXE_USEC: 11331
SLOW_COUNT: 0
HIT_COUNT: 175010
PLAN_SIZE: 57640
EXECUTIONS: 175010
DISK_READS: 269
DIRECT_WRITES: 0
BUFFERS_GETS: 1301
APPLICATION_WATI_TIME: 0
CONCURRENCY_WAIT_TIME: 0
USER_IO_WAIT_TIME: 0
ROWS_PROCESSED: 175010
ELAPSED_TIME: 78782282
CPU_TIME: 18995304
LARGE_QUERYS: 0
DELAYED_LARGE_QUERYS: 0
DELAYED_PX_QUERYS: 0
OUTLINE_VERSION: 0
OUTLINE_ID: -1
OUTLINE_DATA: /*+BEGIN_OUTLINE_DATA INDEX(@"SEL$1" "oceanbase"."__all_core_table"@"SEL$1" "primary") OPTIMIZER_FEATURES_ENABLE('4.3.5.3') END_OUTLINE_DATA*/
HINTS_INFO: /*+ */
HINTS_ALL_WORKED: 1
ACS_SEL_INFO: NULL
TABLE_SCAN: 0
EVOLUTION: 0
EVO_EXECUTIONS: 0
EVO_CPU_TIME: 0
TIMEOUT_COUNT: 0
PS_STMT_ID: -1
SESSID: 0
TEMP_TABLES: NULL
IS_USE_JIT: 0
OBJECT_TYPE: SQL_PLAN
PL_SCHEMA_ID: 0
IS_BATCHED_MULTI_STMT: 0
RULE_NAME: NULL
PLAN_STATUS: ACTIVE
ADAPTIVE_FEEDBACK_TIMES: 0
FIRST_GET_PLAN_TIME: NULL
FIRST_EXE_USEC: NULL