Database Reference
In-Depth Information
speziellen Optimizer-Statistiken beim automatischen SQL-Tuning, die den Ausführungsplan
verbessern sollen. Diese Optimizer-Statistiken werden in einem SQL Profile abgespeichert,
wenn Du diese Statistiken akzeptierst.“
Wie bei den Stored Outlines kann ein SQL Profile für eine SQL-Anweisung aus einem
anderen Schema angewendet werden, wenn die jeweilige Signatur der SQL-Anweisung
mit der Signatur des SQL-Textes aus dem SQL Profile übereinstimmt und die beiden nor-
malisierten SQL-Texte auch gleich sind (die Normalisierung fasst in diesem Fall auch die
Ersetzung der Literale durch die systemgenerierten Bind-Variablen um).
14.2.1
Anlegen
Das Anlegen eines SQL Profile erfolgt in vier Schritten:
• zunächst muss man eine Tuning-Task anlegen. Das macht man mit der Funktion
DBMS_SQLTUNE.CREATE_TUNING_TASK. Die jeweilige SQL-Anweisung kann
man als SQL-Text eingeben. Es ist auch möglich, eine Tuning-Task für eine SQL-Anwei-
sung entweder aus der SQL-Area oder aus dem AWR anzulegen (für mehrere SQL-An-
weisungen kann man eine Tuning-Task über ein SQL-Set anlegen). Wenn die jeweilige
SQL-Anweisung Bind-Variablen enthält, ist es sinnvoll, die Werte dieser Variablen beim
Anlegen der Tuning-Task einzugeben. Das ist notwendig für eine SQL-Anweisung, die
als SQL-Text eingegeben wird. Für die SQL-Anweisungen aus der SQL-Area oder aus
dem AWR nimmt Oracle die notwendigen Bind-Werte automatisch aus der jeweiligen
Daten-Quelle (also aus der SQL-Area oder aus dem AWR). Ohne Bind-Werte kann
Oracle im besten Fall nur teilweise die SQL-Anweisung analysieren,
• imzweitenSchrittmussmandieangelegteTuning-Taskausführen.Dafürmussman
die Prozedur DBMS_SQLTUNE.EXECUTE_TUNING_TASK starten. Beim Ausführen
der Tuning-Task erarbeitet Oracle die Verbesserungsvorschläge. Dieser Schritt kann
viel Zeit in Anspruch nehmen. Es ist möglich, diese Zeit in Sekunden beim Anlegen der
Tuning-Task mit dem Argument time _ limit einzugrenzen (stillschweigend ist dieses
Argument auf 30 Minuten gesetzt),
• danachmussmansichdieVerbesserungsvorschlägeanschauen.Dafürerstelltmanei-
nen Report mit der Funktion DBMS_SQLTUNE.REPORT_TUNING_TASK. Ein SQL
Profile wird im Abschnitt „Using SQL Profile“ vorgeschlagen. Es ist aber möglich, dass
Oracle kein SQL Profile anbietet,
• dasvorgeschlageneSQLProfilekannmanmitderFunktionDBMS_SQLTUNE.AC-
CEPT_SQL_PROFILE akzeptieren. In diesem Fall wird das jeweilige SQL Profile an-
gelegt. Hier kann man entscheiden, ob man das jeweilige SQL Profile mit der erzwun-
genen Mustersuche anlegt oder nicht. Setzt man das Argument force _ match auf TRUE,
wird die erzwungene Mustersuche eingesetzt. Wenn dieses Argument nicht gesetzt oder
Search WWH ::




Custom Search