Database Reference
In-Depth Information
Es ist möglich, eine einzelne SQL Plan Baseline außer Kraft zu setzen. Dafür muss man
den Status ENABLED mit der Funktion DBMS_SPM.ALTER_SQL_PLAN_BASELINE
auf 'NO' setzen.
14.3.3
Verifizieren
Die View DBA_SQL_PLAN_BASELINES hat die Spalte LAST_EXECUTED, die das Da-
tum der letzten Anwendung beinhaltet. Dies macht die Verifizierung, ob eine SQL Plan
Baseline angewendet wird, leichter als die entsprechende Prüfung für die Stored Outlines.
Die Spalte OTHER_XML (s. im Abschn.  6.1.4), beinhaltet einen Plan-Namen der
SQL Plan Baseline, wenn sie angewendet wurde. Man kann diesen Namen mit einer SQL-
Anweisung ermitteln. Für einen Plan aus der View V$SQL_PLAN kann man das beispiels-
weise folgendermaßen tun:
VHOHFWH[WUDFWYDOXH[POW\SHRWKHUB[POLQIR>#W\SH EDVHOLQH@SODQBQDPH
IURPYVTOBSODQ
ZKHUH
VTOBLG VTOBLG!DQG
FKLOGBQXPEHU FKLOGBQXPEHU!DQG
SODQBKDVKBYDOXH SODQBKDVKBYDOXH!DQG
RWKHUB[POLVQRWQXOO
Die Funktionen DBMS_XPLAN.DISPLAY, DBMS_XPLAN.DISPLAY_CURSOR, DBMS_
XPLAN.DISPLAY_AWR zeigen auch einen Plan-Namen der angewendeten SQL Plan
Baseline in einem Explain Plan bzw. in einem Ausführungsplan an. Diese Information
ermitteln sie aus der Spalte OTHER_XML der jeweiligen Views.
Man kann einen Plan-Namen der angewendeten SQL Plan Baseline auch direkt in der
View V$SQL über die Spalte SQL_PLAN_BASELINE ermitteln.
Weder die View DBA_HIST_SQLSTAT aus dem AWR noch die Tabelle STATS$SQL_
SUMMARY aus dem Statspack-Repository haben eine Spalte, die die Informationen über
die angewendete SQL Plan Baseline enthält. Das Extrahieren eines Plan-Namens aus der
Spalte OTHER_XML der View DBA_HIST_SQL_PLAN ist die einzige Möglichkeit, die
angewendete SQL Plan Baseline für eine SQL-Anweisung im AWR zu ermitteln. Da die
Tabelle STATS$SQL_PLAN keine Spalte OTHER_XML hat, ist es nicht möglich zu prüfen,
ob eine SQL Plan Baseline für eine SQL-Anweisung aus dem Statspack-Repository ange-
wendet wurde.
Peter: „Es ist ziemlich umständlich zu ermitteln, welche Kategorie von Stored Outlines in
einer Session oder systemweit benutzt wird. Möglicherweise ist es leichter festzustellen, ob die
SQL Plan Baselines angewendet werden?“
Leonid: „Da die SQL Plan Baselines stillschweigend aktiv sind, würde ich Deine Frage
umformulieren: Wie kann man feststellen, dass die SQL Plan Baselines deaktiviert sind? Da-
Search WWH ::




Custom Search