功能
该视图记录了当前租户在所有 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 计划的缓存,该字段表示计划的类型:
对于 PL 对象缓存,该字段表示PL对象的类型:
|
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 | 缓存对象的类型:
|
PL_SCHEMA_ID | NUMBER(38) | NO | 对于非匿名块的 PL 对象,字段为缓存对象的 Schema ID;对于匿名块,字段与 ps_stmt_id 相同;对于 SQL 计划,该字段无意义 |
IS_BATCHED_MULTI_STMT | NUMBER(38) | NO | 表示是否为 batched multistmt 优化的计划 |