Plan Cache 相关视图包含记录执行计划的缓存状态、执行统计的相关信息及计划信息,详细的 Plan Cache 介绍参见执行计划缓存章节。

(g)v$plan_cache_stat

(g)v$plan_cache_stat 视图记录每个计划缓存的状态,每个计划缓存在该视图中有一条记录。

字段名称

类型

描述

tenant_id

bigint(20)

租户 id

svr_ip

varchar(32)

ip 地址

svr_port

bigint(20)

端口号

sql_num

bigint(20)

plan_cache 涉及 sql 条数

mem_used

bigint(20)

plan_cache 已经使用的内存

access_count

bigint(20)

进 plan_cache 的次数

hit_count

bigint(20)

命中 plan_cache 的次数

hit_rate

bigint(20)

命中 plan_cache 的次数

plan_num

bigint(20)

plan 的个数

mem_limit

bigint(20)

plan_cache 的内存上限

hash_bucket

bigint(20)

plan_cache hash map 中的 bucket 的个数

stmtkey_num

bigint(20)

plan_cache 中 stmt_key 的个数

(g)v$plan_cache_plan_stat

(g)v$plan_cache_plan_stat 视图记录计划缓存中所有计划的具体信息及每个计划总的执行统计信息, 每个计划在该视图中一条记录。

字段名称类型描述
tenant_idbigint(20)租户 id
svr_ipvarchar(32)机器 ip
svr_portbigint(20)机器端口号
plan_idbigint(20)计划的 id
sql_idvarchar(32)这条 SQL 的 id
typebigint(20)

plan 的类型:

  • 1表示 local plan  
  • 2表示 remote plan
  • 3表示 distribute plan
db_idbigint(20) unsigned数据库的 id
is_bind_sensitivebigint(20)该计划是否需要打开 acs
is_bind_awarebigint(20)该计划已经打开了 acs
statementvarchar(4096)参数化后的 SQL 语句
query_sqlvarchar(65536)第一次加载计划时查询的原始 SQL语句
sys_varsvarchar(4096)影响计划的系统变量的值
plan_hashbigint(20)计划的 hash 值
first_load_timetimestamp(6)第一次被加载时间
schema_versionbigint(20)schema 版本号
merged_versionbigint(20)当前缓存计划对应的合并版本号
last_active_timetimestamp(6)上一次被执行时间
avg_exe_usecbigint(20)平均执行时间
slowest_exe_timetimestamp(6)最慢一次执行耗时
slowest_exe_usecbigint(20)最慢执行时间戳
slow_countbigint(20)当前计划成为慢查询次数
hit_countbigint(20)被命中次数
plan_sizebigint(20)计划的大小
executionsbigint(20)执行次数
disk_readsbigint(20)所有执行物理读次数
direct_writesbigint(20)所有执行写盘的次数
buffer_getsbigint(20)所有执行逻辑读次数
application_wait_timebigint(20) unsigned所有执行所有 application 类事件的总时间
concurrency_wait_timebigint(20) unsigned所有执行所有 concurrency 类事件的总时间
user_io_wait_timebigint(20) unsigned所有执行所有 user_io 类事件的总时间
rows_processedbigint(20)所有执行选择的结果行数或执行更改表中的行数
elapsed_timebigint(20) unsigned所有执行接收到请求到执行结束消耗时间
cpu_timebigint(20) unsigned所有执行消耗的 cpu 时间
large_querysbigint(20)被判断为大查询的次数
delayed_large_querysbigint(20)被判断为大查询且被丢入大查询队列的次数
outline_versionbigint(20)outline 版本号
outline_idbigint(20)outline 的 id,为-1表示不是通过绑定 outline 生成的计划
outline_datavarchar(65536)计划对应的 outline 信息
acs_sel_infovarchar(65536)当前 acs 计划对应的选择率空间
table_scantinyint(4)表示该查询是否为主键扫描
evolutionbool表示该执行计划是否在演进中
evo_executionsbigint(20)演进次数
evo_cpu_timebigint(20) unsigned演进过程中总的执行 CPU 时间
timeout_countbigint(20)超时次数
ps_stmt_idbigint(20)prepare statement id

(g)v$plan_cache_plan_explain

(g)v$plan_cache_plan_explain 视图用于查询某条 SQL 在计划缓存中的执行计划。

注意:

  • 如果查询 gv$plan_cache_plan_explain 表, 则需要指定 ip, port,tenant_id,plan_id 的等值条件。
  • 如果查询 v$plan_cache_plan_explain 表, 则需要指定 tenant_id,plan_id 的等值条件。
字段名称类型描述
TENANT_IDbigint(20)租户 id
IPvarchar(32)ip 地址
PORTbigint(20)端口号
PLAN_IDbigint(20)plan 的 id
OPERATORvarchar(128)operator 的名称
NAMEvarchar(128)表的名称
ROWSbigint(20)预估的结果行数
COSTbigint(20)预估的代价
PROPERTYvarchar(256)对应 operator 的信息