Oracle Tuning in der Praxis

Oracle Tuning in der Praxis

von: Frank Haas

Carl Hanser Fachbuchverlag, 2006

ISBN: 9783446409514

Sprache: Deutsch

312 Seiten, Download: 2904 KB

 
Format:  PDF, auch als Online-Lesen

geeignet für: Apple iPad, Android Tablet PC's Online-Lesen PC, MAC, Laptop


 

eBook anfordern

Mehr zum Inhalt

Oracle Tuning in der Praxis



4 Vorgehensweisen beim Tuning (S. 113-114)

In diesem Kapitel wird die Methodik des Tunings, also welche Vorgehensweisen wann angebracht sind, besprochen.

Im Unterschied zu den nächsten Kapiteln, in denen detailliert auf die verschiedenen Werkzeuge für und die verschiedenen Teilaspekte des Tuning eingegangen wird, geht es hier ganz allgemein um die verschiedenen Herangehensweisen und wann Sie wie vorgehen sollten.

4.1 Ansätze beim Tuning

Wenn Ihr Telefon dauernd läutet und plötzlich jede Menge Manager, von denen Sie viele bis dahin gar nicht gekannt haben, in Ihrem Büro erscheinen und lauthals Auskunft darüber verlangen, warum die Datenbank nicht läuft, dann könnten Sie eventuell ein Performance- Problem haben. Das muss aber nicht so sein, manchmal tritt das Problem auch schleichend ein, und eines schönen Morgens kommen Sie ins Büro und dort randalieren die Benutzer, weil nichts mehr läuft. Am Vortag lief alles noch ganz gut, und selbstverständlich hat keiner irgendwas irgendwie in der Zwischenzeit gemacht. Das können Sie sich sowieso als Leitspruch in solchen Situationen merken: Normalerweise hat niemand nie irgendwas irgendwo im System gemacht, bevor sich dann herausstellt, dass es doch eine „klitzekleine" Veränderung gab. Gestern hat die Verarbeitung nur drei Stunden gedauert, heute braucht sie sechs Stunden, aber dass sich die Datenmenge zwischen gestern und heute aufgrund unvorhergesehener Umstände plötzlich enorm vergrößert hat, das hat erst mal keiner erwähnt oder für bemerkenswert gehalten. Allerdings muss man zugeben, dass es manchmal selbst für Fachleute überraschend ist, welche Konsequenzen sich aus einer Veränderung im System ergeben können. Da reichen manchmal „Kleinigkeiten" aus. Seien Sie also nachsichtig, wenn Nichttechniker hier etwas „verbrochen" haben, die Armen wissen es oft schlichtweg nicht besser, und Sie können es ihnen gerechterweise auch nicht zum Vorwurf machen.

Wie Sie an ein Problem und seine Lösung herangehen, ist in Oracle teilweise auch noch durch die Version bestimmt: So stehen in Oracle 10g verschiedene Ratgeber zur Verfügung, die konkrete Empfehlungen geben. Zwar stand diese Funktionalität auch schon vorher über den Oracle Enterprise Manager zur Verfügung, aber nun ist sie direkt in den Kernel eingebaut, was ich als entscheidend betrachte. Die 10g-Ratgeber sind der SQL Tuning Advisor und der SQL Access Advisor. Der Tuning Advisor in 10g wird oft das Anlegen von Materialized Views empfehlen. (Auch wenn die Wunschliste fehlender Funktionalitäten noch recht groß ist: Zum Beispiel wäre ein teilweise automatisches Umschreiben in einen äquivalenten Ausdruck, der mittels Analytic Functions realisiert würde, sehr wünschenswert.) Für diese Funktionalität wurde das DBMS_MVIEW-Package ausgebaut.

Unabhängig davon, welches SQL ausgeführt wird, wird Oracle erst mal einen Ausführungsplan, also genaue Instruktionen, wie die SQL-Anweisung durchgeführt wird, erstellen. Das muss nicht notwendigerweise der beste aller möglichen Pläne sein. Um den besten zu bekommen, verwenden Sie den SQL Tuning Advisor. Das kann entweder über die Enterprise Manager Console erfolgen oder über die DBMS_SQLTUNE und DBMS_ADVISOR- Packages. Der SQL Tuning Advisor entdeckt fehlende oder ungültige Statistiken und generiert sie bei Bedarf. Fehlende Indizes werden auch entdeckt und vorgeschlagen. SQL wird restrukturiert, falls das zu einem besseren Ausführungsplan führt. Das erfolgt dann über den SQL Access Advisor. Wenn der neue Ausführungsplan gefunden ist, wird ein SQL Profile vorgeschlagen. Wird das SQL Profile akzeptiert, wird der neue Ausführungsplan für die Anweisung abgespeichert. Der Code in der Applikation muss also nicht angepasst werden, die Anpassung erfolgt intern über die Verwendung gespeicherter Hints. Sie können beim Aufruf des SQL Tuning Advisor den Text der SQL-Anweisung vorgeben, aus dem Cursor Cache nehmen oder auch aus dem Active Workload Repository. Die Details zu diesen Ratgebern schauen wir uns im nächsten Kapitel an.

4.2 Generelle Performance-Untersuchung

Ideal wäre es natürlich, wenn man die Performanceprobleme schon im Vorfeld erahnen könnte. In gewissem Grade ist das auch möglich, wenn Sie regelmäßig Healthchecks auf ihrem System durchführen und wissen, was Ihnen die Zukunft bringen wird. Healthcheck bedeutet hier dasselbe wie im täglichen Leben – wenn Sie ohne konkrete Beschwerden zum Arzt gehen, einfach, um sich mal so richtig durchchecken zu lassen. Der Arzt wird dann verschiedene Untersuchungen durchführen und Ihnen eventuell ein paar Empfehlungen für die Zukunft mitgeben (oder eben auch nicht, wenn alles in Ordnung ist). Die Tipps des Arztes wollen Sie in der Praxis selbstverständlich befolgen, haben sie aber bereits vergessen, wenn Sie wieder draußen auf der Straße stehen. Nichts anderes ist ein Healthcheck auf dem System, nur mit dem Unterschied, dass wir hier Maschinen und Programme untersuchen statt Menschen.

Kategorien

Service

Info/Kontakt