Database Reference
In-Depth Information
auf FALSE gesetzt wird, wird das jeweilige SQL Profile ohne die erzwungene Muster-
suche angelegt. Beim Akzeptieren eines SQL Profile kann man dieses SQL Profile einer
Kategorie zuordnen. Stillschweigend wird das SQL Profile der Kategorie DEFAULT zu-
geordnet.
Mit dem Skript test_case_sql_profiles.sql kann man das Anlegen eines SQL Profile verfol-
gen. Dieses Skript demonstriert auch, dass eine Parameteränderung den Ausführungsplan
beeinflusst, obwohl das jeweilige SQL Profile aktiv ist.
Peter: „Sag mal, wie Oracle auf diese speziellen Optimizer-Statistiken kommt?“
Leonid: „Man kann SQL-Tracing für den zweiten Schritt (also für das Ausführen der
Tuning-Task) einschalten, um zu sehen, wie Oracle die speziellen Statistiken berechnet. In
der jeweiligen Trace-Datei findet man einige interne Abfragen zu der SQL-Anweisung. Die
meisten dieser Abfragen ermitteln die für die SQL-Anweisung relevanten Kardinalitäten.
Oracle vergleicht die tatsächlichen Kardinalitäten mit den Kardinalitäten, die anhand der
herkömmlichen Optimizer-Statistiken berechnet sind. Die speziellen Statistiken können die
herkömmlichen dort ‚korrigieren', wo die herkömmlichen Statistiken vorhanden sind, aber
die genaue Schätzung der Kardinalität nicht ermöglichen. Dort, wo die herkömmlichen Sta-
tistiken fehlen, können die speziellen Statistiken sie ersetzen.“
P.: „Ich kann nicht sagen, dass ich das verstanden habe. Gibt es viele Arten von den spe-
ziellen Statistiken?“
L.: „Eine detaillierte Beschreibung der speziellen Statistiken ist in diesem Buch nicht vor-
gesehen, da es für das ‚praktische' Performance Tuning nicht notwendig ist. Nehmen wir aber
als Beispiel die Ausgabe des Skripts test_case_sql_profiles.sql und versuchen, eine spezielle
Statistik von dort zu klären. Apropos, weißt Du, wie man die speziellen Statistiken ermitteln
kann, welche bei der Ausführung einer Tuning-Task berechnet sind?“
P.: „Nein. Möglicherweise in einer Trace-Datei?“
L.: „Es gibt eine wesentlich einfachere Methode. Wenn man das Argument level der Funk-
tion DBMS_SQLTUNE.REPORT_TUNING_TASK auf ' ADVANCED ' setzt, findet man die
speziellen Statistiken unter ‚SQL Profile Attributes' im Abschnitt ‚SQL Profile Finding' des je-
weiligen Reports. Unter den Anderen findet man dort die folgende Statistik aus unserem Test-
Case. Peter, kannst Du sagen, an was Dich das Format dieser Statistik eventuell erinnert?“
237B(67,0$7(#6(/7$%/(7#6(/6&$/(B52:6
P.: „Warte mal …. Dort benutzt Oracle die Namen von Query-Blöcken. Damit meine ich
‚SEL$1'. Der Name ‚OPT_ESTIMATE' erinnert mich komischerweise an das Hint OPT_PA-
RAM.“
Search WWH ::




Custom Search