Database Reference
In-Depth Information
Index-Werte nicht mehr beim DELETE finden. So kam es zum Fehler ORA-8102. Die
große Laufzeit entstand dadurch, dass Oracle automatisch eine Trace-Datei im Problemfall
erzeugt, was auch seine Zeit braucht. Für den Datenbankadministrator, der dieses Problem
an mich gemeldet hatte, sah es wie ein reines Performanz-Problem aus.
Ich baute einen kleinen Test-Case für das TIMESTAMP-Format zusammen. Mit dem
ähnlichen Test-Case testete ich, wie Oracle mit dem Datum-Format in diesem Fall umgeht.
Beim Datum speichert Oracle automatisch die jeweilige Vorgabeeinstellung in der Funk-
tion TO_CHAR als Format mit, so dass dieses Problem mit dem Datum nicht entsteht.
Man muss aber dieses Format in den SQL-Anweisungen explizit benutzen, um die Zugriffe
über den jeweiligen Index zu ermöglichen.
Da die Problemlösung lediglich mit einer Programmänderung möglich war, entschied
man, keinen Service Request für dieses Problem bei Oracle zu eröffnen.
Fazit
• manmusssichdaraufeinstellen,dasssicheinvölliganderesProblemunterdeman-
geblichen Performanz-Problem verstecken kann,
• dieLaufzeitstatistikenaufderCursor-EbenekumulierendiejeweiligenStatistiken
der darunterliegenden Operationen (in diesem Fall die Laufzeit)
2.2
Eine akzeptable Performance als Kriterium des
Performance Tuning
Unter welchen Umständen soll man mit Performance Tuning anfangen, und wann soll
man die Performanz-Verbesserungen beenden? Theoretisch ist jedes System performanz-
mäßig zu verbessern. Das Problem dabei ist, dass man in der Regel mit jedem nächsten
Schritt immer weniger an der Performanz gewinnt, aber immer mehr Zeit in das Tuning
investiert, so dass das Performance Tuning immer teurer wird. Wo muss man denn die
Grenze ziehen? Meiner Meinung nach ist es sinnvoll, hier ganz praktisch vorzugehen.
Wenn die Performanz den Betrieb nicht gefährdet und keine nichtperformanten Abfragen
die Anwender nerven, ist eine solche Datenbankperformanz in meinen Augen akzepta-
bel und nicht unbedingt zu verbessern. Das heißt nicht, dass Sie nicht reagieren dürfen,
wenn Sie eine Auffälligkeit entdeckt haben, die u. U. zu einem größeren Problem werden
kann oder leicht zu beseitigen ist. Selbstverständlich müssen Sie die Zuständigen darüber
informieren und möglicherweise sofort eingreifen. Bei einer Routineuntersuchung einer
Datenbank mit einer OLTP-Anwendung ist mir eine komplexe SQL-Anweisung aufgefal-
len, die viele UNIONs beinhaltete und für jede Ausführung ca. 40 s brauchte. Aus meiner
Erfahrung wusste ich, wie man solche SQL-Anweisungen leicht beschleunigen kann (s. im
nächsten Abschnitt). So habe ich die Laufzeit dieser SQL-Anweisung auf einen Sekunden-
bruchteil reduziert. Wenige Minuten später haben sich die überglücklichen Anwender ge-
meldet. Sie haben jahrelang vor dem Bildschirm geduldig jeweils 40 s lang gewartet, bis die
 
Search WWH ::




Custom Search