Database Reference
In-Depth Information
18.5 Remote-SQL-Tuning
Dieses Thema ist sicherlich nicht das wichtigste für die Datenbankadministratoren, die auf
dieproblematischenDatenbankennormalerweisezugreifenkönnen.Vielinteressanterist
es für die Spezialisten des Performance Tuning, die manchmal SQL-Tuning ohne Daten-
bankverbindung durchführen.
Für Remote-Tuning braucht man vor Ort einen Ansprechpartner, der für Sie die not-
wendigen Daten ermittelt und die Testläufe durchführt. Das Hauptproblem bei Remote-
Tuning ist gerade die Kommunikation mit dem Ansprechpartner, die viel Zeit kostet. Man
muss also versuchen, diese Kommunikation auf ein Minimum zu reduzieren. Bei Remote-
Tuningmussmanalsosehrüberlegenundmöglichstfehlerfreivorgehen.Die2Ansätze,
dieindiesemAbschnittbeschriebensind,könnenhilfreichdabeisein.
18.5.1 Test-Cases
MitdemPackageDBMS_SQLDIAGistesmöglich,einenTest-CasefüreineSQL-Anwei-
sungzuerzeugen.EinTest-Case,dersoerstelltwird,enthältMetadatenderfürdiejewei-
ligeSQL-AnweisungrelevantenObjekteunddieOptimizer-StatistikenfürdieseObjekte.
Theoretischwäreesmöglich,einenTest-CaseauchmitdenjeweiligenAnwendungsdaten
zuerstellen.InderPraxisistesnormalerweisenichtmöglich(inersterLiniewegender
GrößedieserDaten).SoeinenTest-CasekannmanineinelokaleDatenbankeinspielen
und beim Remote-Tuning benutzen. Mit einem Test-Case (auch ohne Anwendungsdaten)
kann man die Remote-Testläufe vorbereiten. Dafür kann man die Parametereinstellungen
ändernoderdieOptimizer-HintseinsetzenundmitdemKommando„EXPLAINPLAN“
prüfen, ob man damit die erwünschte Ausführungsplanänderung erreicht. Falls man mit
den Parametereinstellungen und mit den Optimizer-Hints keine Performanz-Verbesse-
rungerzielt,hilftderjeweiligeTest-CaseauchbeimUmschreibenderSQL-Anweisung.
Das folgende Beispiel zeigt, wie man einen Test-Case erstellen und einspielen kann.
Nehmen wir diese einfache SQL-Anweisung für unseren Test-Case:
Search WWH ::




Custom Search