Plan Cache相關視圖
Plan Cache相關視圖包含記錄執行計劃的緩存狀態、執行統計的相關信息及計劃信息,這些視圖的數據均來自Plan Cache,具體Plan Cache介紹見執行計劃緩存介紹。
(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
記錄計劃緩存中所有plan的具體信息及每個計劃總的執行統計信息, 每個plan在該視圖中一條記錄。
字段名稱 |
類型 |
描述 |
tenant_id |
bigint(20) |
租戶id |
svr_ip |
varchar(32) |
機器ip |
svr_port |
bigint(20) |
機器端口號 |
plan_id |
bigint(20) |
plan的id |
sql_id |
varchar(32) |
這條sql的id |
type |
bigint(20) |
plan的類型: 1表示local plan 2表示remote plan, 3表示distribute plan |
db_id |
bigint(20) unsigned |
database的id |
is_bind_sensitive |
bigint(20) |
該計劃是否需要打開acs |
is_bind_aware |
bigint(20) |
該計劃已經打開了acs |
statement |
varchar(4096) |
參數化後的SQL語句 |
query_sql |
varchar(65536) |
第一次加載計劃時查詢的原始SQL語句 |
sys_vars |
varchar(4096) |
影響計劃的系統變量的值 |
plan_hash |
bigint(20) |
plan的hash值 |
first_load_time |
timestamp(6) |
第一次被加載時間 |
schema_version |
bigint(20) |
schema版本號 |
merged_version |
bigint(20) |
當前緩存的plan對應的合併版本號 |
last_active_time |
timestamp(6) |
上一次被執行時間 |
avg_exe_usec |
bigint(20) |
平均執行時間 |
slowest_exe_time |
timestamp(6) |
最慢一次執行耗時 |
slowest_exe_usec |
bigint(20) |
最慢執行時間戳 |
slow_count |
bigint(20) |
當前plan成爲慢查詢次數 |
hit_count |
bigint(20) |
被命中次數 |
plan_size |
bigint(20) |
plan的大小 |
executions |
bigint(20) |
執行次數 |
disk_reads |
bigint(20) |
所有執行物理讀次數 |
direct_writes |
bigint(20) |
所有執行寫盤的次數 |
buffer_gets |
bigint(20) |
所有執行邏輯讀次數 |
application_wait_time |
bigint(20) unsigned |
所有執行所有application類事件的總時間 |
concurrency_wait_time |
bigint(20) unsigned |
所有執行所有concurrency類事件的總時間 |
user_io_wait_time |
bigint(20) unsigned |
所有執行所有user_io類事件的總時間 |
rows_processed |
bigint(20) |
所有執行選擇的結果行數或執行更改表中的行數 |
elapsed_time |
bigint(20) unsigned |
所有執行接收到請求到執行結束消耗時間 |
cpu_time |
bigint(20) unsigned |
所有執行消耗的cpu時間 |
large_querys |
bigint(20) |
被判斷爲大查詢的次數 |
delayed_large_querys |
bigint(20) |
被判斷爲大查詢且被丟入大查詢隊列的次數 |
outline_version |
bigint(20) |
outline版本號 |
outline_id |
bigint(20) |
outline的id,爲-1表示不是通過綁定outline生成的計劃 |
outline_data |
varchar(65536) |
計劃對應的outline信息 |
acs_sel_info |
varchar(65536) |
當前acs計劃對應的選擇率空間 |
table_scan |
tinyint(4) |
表示該查詢是否爲主鍵掃描 |
evolution |
bool |
表示該執行計劃是否在演進中 |
evo_executions |
bigint(20) |
演進次數 |
evo_cpu_time |
bigint(20) unsigned |
演進過程中總的執行CPU時間 |
timeout_count |
bigint(20) |
超時次數 |
ps_stmt_id |
bigint(20) |
prepare statement id |
(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_ID |
bigint(20) |
租戶id |
IP |
varchar(32) |
ip地址 |
PORT |
bigint(20) |
端口號 |
PLAN_ID |
bigint(20) |
plan的id |
OPERATOR |
varchar(128) |
operator的名稱 |
NAME |
varchar(128) |
表的名稱 |
ROWS |
bigint(20) |
預估的結果行數 |
COST |
bigint(20) |
預估的代價 |
PROPERTY |
varchar(256) |
對應operator的信息 |