Database Reference
In-Depth Information
Leonid: „ Es ist sinnvoll zunächst zu prüfen, ob das Performanz-Problem wegen einer un-
günstigen Ausführungsplanänderung entstand. Möglicherweise ist ein guter Ausführungs-
plan in der SQL-Area oder im AWR noch zu finden. Das kann man z. B. mit den Skripten
awr_sqltus112.sql, one_exec_plan_sqlarea11201.sql, one_exec_plan_sqlarea11202.sql prü-
fen oder das Package DBMS_SQLTUNE dafür benutzen ( s. im Abschn.  14.2 ) . Findet man
einen guten Plan, kann man die Gründe dieser ungünstigen Planänderung klären, wenn die
Zeit das zulässt. Falls das Performanz-Problem akut ist, muss man dieses Problem schnell
beseitigen. Die schnellste Lösung in diesem Fall ist sicherlich das Fixieren des guten Ausfüh-
rungsplans für die jeweilige SQL-Anweisung .“
P.: „ Mit SQL Plan Baselines?
L.: „ Im Abschn. 14.3 ist es beschrieben, wie man das mit SQL Plan Baselines tun kann. Im
Abschn. 18.1 präsentiere ich dafür noch eine Methode .“
In diesem Kapitel sind auch einige praktische Ansätze des SQL-Tunings beschrieben,
welche den Tuning-Prozess beschleunigen. Findet man einen akzeptablen Ausführungs-
planimZugedesSQL-Tunings,isteslediglichdieHälftederProblemlösung,weilmanden
verbesserten Ausführungsplan noch umsetzen muss. Das kann auch problematisch sein,
wenn keine Programmcodeänderungen möglich sind. In diesem Fall können versteck-
te (hidden) Hints behilflich sein, wenn die SQL-Anweisung mit Parametereinstellungen
oder mit Hints getunt ist. Wenn man die SQL-Anweisung beim SQL-Tuning umschreibt,
kannmöglicherweisedieMethodemitHiddenSQLsbeiderUmsetzungdieserLösung
ohne Programmcodeänderung helfen. Diese Methode ist zum Schluss dieses Kapitels
beschrieben.
Das SQL-Tuning ohne Zugang zu der Datenbank (Remote-SQL-Tuning) bereitet einige
zusätzliche Schwierigkeiten. Da man mit den Experimenten beim Remote-Tuning sehr
eingegrenzt ist, muss man die Tuning-Strategie wesentlich besser und ausführlicher über-
legen. Hier sind einige Ansätze für diese Tuning-Art ausgeleuchtet.
18.1
Die OSP-Methode (Outlines in SQL Profile)
Aus dem Abschn. 14.2 wissen wir bereits, dass ein SQL Profile die speziellen Optimizer-
Statistiken in Form von Hints beinhaltet. Ich weiß nicht, wem es zuerst eingefallen ist,
Optimizer-Hints und Outlines statt der Statistiken im SQL Profile abzuspeichern. Dieses
Verfahren ist sowohl auf vielen Internet-Seiten als auch in der Fachliteratur erwähnt (z. B.
in[16]).ImweiterenTextverweiseichaufdiesesVerfahrenwieaufdieOSP-Methode.
Um die Hints und die Outlines in einem SQL Profile abzuspeichern, kann man eine
nicht dokumentierte Prozedur DBMS_SQLTUNE.IMPORT_SQL_PROFILE benutzen.
Das Beispiel unten zeigt, wie man das macht.
 
Search WWH ::




Custom Search