Oracle SPM: differenze tra le versioni
Jump to navigation
Jump to search
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 14: | Riga 14: | ||
Esempio: |
Esempio: |
||
exec dbms_spm.load_plans_for_cursor_cache(sql_id=>'b05n0m9gmkj06',plan_hash_value=>23432123,fixed=>'YES',enabled=>'YES'); |
exec dbms_spm.load_plans_for_cursor_cache(sql_id=>'b05n0m9gmkj06',plan_hash_value=>23432123,fixed=>'YES',enabled=>'YES'); |
||
=SQL Baseline Plan= |
|||
Per forzare un piano di esecuzione trovato nella sql cursor cache, di cui si conosce l'hash value: |
|||
Cerca il piano di esecuzione con: |
|||
-- |
|||
set autotrace off |
|||
set pagesize 200 |
|||
set linesize 200 |
|||
select DBMS_LOB.substr(sql_fulltext, 3000) from v$sql where sql_id = '&1'; |
|||
select * from table(DBMS_XPLAN.DISPLAY_CURSOR(sql_id=>'&1',cursor_child_no=>&2)); |
|||
Trovato l'hash value, si può stabilizzare con: |
|||
-- |
|||
declare |
|||
my_plans pls_integer; |
|||
begin |
|||
my_plans:=DBMS_SPM.LOAD_PLANS_FROM_CURSOR_CACHE(SQL_ID=>'&1',PLAN_HASH_VALUE=>'&2',FIXED=>'YES',ENABLED=>'YES'); |
|||
end; |
|||
/ |
|||
Versione attuale delle 15:38, 10 nov 2022
A differenza degli SQL Profile, non richiede licenza diagnostic e tuning. Utilizzabile sulla EE e dalla 18 anche sulla SE, sebbene con alcune limitazioni.
Forzare un piano
DBMS_SPM.LOAD_PLANS_FROM_CURSOR_CACHE ( sql_id IN VARCHAR2, plan_hash_value IN NUMBER := NULL, fixed IN VARCHAR2 := 'NO', enabled IN VARCHAR2 := 'YES') RETURN PLS_INTEGER;
Esempio:
exec dbms_spm.load_plans_for_cursor_cache(sql_id=>'b05n0m9gmkj06',plan_hash_value=>23432123,fixed=>'YES',enabled=>'YES');
SQL Baseline Plan
Per forzare un piano di esecuzione trovato nella sql cursor cache, di cui si conosce l'hash value: Cerca il piano di esecuzione con:
-- set autotrace off set pagesize 200 set linesize 200 select DBMS_LOB.substr(sql_fulltext, 3000) from v$sql where sql_id = '&1'; select * from table(DBMS_XPLAN.DISPLAY_CURSOR(sql_id=>'&1',cursor_child_no=>&2));
Trovato l'hash value, si può stabilizzare con:
-- declare my_plans pls_integer; begin my_plans:=DBMS_SPM.LOAD_PLANS_FROM_CURSOR_CACHE(SQL_ID=>'&1',PLAN_HASH_VALUE=>'&2',FIXED=>'YES',ENABLED=>'YES'); end; /