功能

该视图记录了当前租户在所有 Server 上的计划缓存中缓存的每一个缓存对象的状态。

注意

该表不仅缓存了 SQL 计划对象,也缓存了 PL 对象(如匿名块、PL Package以及PL Function),某些字段只在特定对象下有效。

字段说明

字段名称

类型

是否可以为 NULL

描述

TENANT_ID

NUMBER(38)

NO

租户 ID

SVR_IP

VARCHAR2(32)

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 计划的缓存,该字段表示计划的类型:

  • 1:表示本地计划

  • 2:表示远程计划

  • 3:表示分配计划

对于 PL 对象缓存,该字段表示PL对象的类型:

  • 1:表示程序

  • 2:表示函数

  • 3:表示包

  • 4:表示匿名块

DB_ID

NUMBER(38)

NO

数据库的 ID

IS_BIND_SENSITIVE

NUMBER(38)

NO

该计划是否需要打开 ACS

IS_BIND_AWARE

NUMBER(38)

NO

该计划已经打开了 ACS

STATEMENT

VARCHAR2(65536)

NO

对于 SQL 计划,该字段为参数化后的 SQL 语句;对于匿名块对象,该字段为参数化后的匿名块语句;其他对象该字段无效

QUERY_SQL

VARCHAR2(65536)

NO

对于 SQL 计划,字段为第一次加载计划时查询的原始 SQL 语句;对于匿名块字段,该字段为参数化后的匿名块语句

SPECIAL_PARAMS

VARCHAR2(4096)

NO

表示不可参数化的参数值

PARAM_INFOS

VARCHAR2(65536)

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 版本号

MERGED_VERSION

NUMBER(38)

NO

当前缓存的计划对应的合并版本号

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_WATI_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

VARCHAR2(65536)

NO

计划对应的 Outline 信息

HINTS_INFO

VARCHAR2(65536)

NO

SQL 计划的 Hint 信息

HINTS_ALL_WORKED

NUMBER(38)

NO

SQL 计划中的 Hint 是否都已经生效

ACS_SEL_INFO

VARCHAR2(65536)

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 statement 的 ID

SESSID

NUMBER(38)

NO

缓存对象所在的 Session ID

TEMP_TABLES

VARCHAR2(65536)

NO

SQL 计划中包含的临时表表名,如果没有临时表,字段为空

IS_USE_JIT

NUMBER(38)

NO

SQL 计划是否开启了表达式编译执行

OBJECT_TYPE

VARCHAR2(65536)

NO

缓存对象的类型:

  • SQL_PLAN

  • PROCEDURE

  • FUNCTION

  • PACKAGE

  • ANONYMOUS

PL_SCHEMA_ID

NUMBER(38)

NO

对于非匿名块的 PL 对象,字段为缓存对象的 Schema ID;对于匿名块,字段与 ps_stmt_id 相同;对于 SQL 计划,该字段无意义

IS_BATCHED_MULTI_STMT

NUMBER(38)

NO

表示是否为 batched multistmt 优化的计划