Sechs Best Practices für eine Oracle-Datenbankoptimierung
Um einen effizienten Ablauf zu gewährleisten, müssen Datenbank-Admins die Leistung von Oracle-Datenbanken verwalten. Diese Checkliste unterstützt Admins dabei.
Das Performance-Management von Oracle-Datenbanken erfordert die sorgfältige Betrachtung mehrerer Details. Dazu gehört etwa die Anpassung der Software, die Überwachung des Durchsatzes von Abfragen und die angemessene Reaktion auf Leistungsprobleme. Das erfordert eine Menge Arbeit, ist aber in Oracle-Umgebungen entscheidend für einen effizienten Datenbankbetrieb.
Grundsätzlich gilt: Datenbank-Administratoren (DBAs) müssen sicherstellen, dass die unterstützten Anwendungen so effizient wie möglich auf Daten zugreifen können. Benutzerfreundlichkeit und Datenbankbetrieb sollten dabei nicht beeinträchtigt werden. Engpässe, die die Leistung verringern, müssen schnell identifiziert und beseitigt werden, damit sie sich möglichst wenig auf die Arbeitsabläufe der Transaktionsverarbeitung oder des Data Warehousing auswirken.
Für die Überwachung und Optimierung der Oracle-Performance haben wir sechs Best Practices zusammengestellt. DBAs sollten sie möglichst vollständig anwenden, um den reibungslosen Betrieb ihrer Datenbanksysteme zu gewährleisten.
1. Seien Sie beim Performance Management proaktiv
DBAs sollten für das Performance-Management einen proaktiven Ansatz wählen, um die kontinuierliche Effizienz und Stabilität der Oracle-Datenbankumgebung zu gewährleisten. Proaktiv heißt, dass sich DBAs auf auftretende Performance-Probleme vorbereiten sollten. So können sie Fehler schnell erkennen, verstehen und beheben. Selbst bei Themen, die sofortiges Handeln erfordern, sind proaktiv ausgerichtete DBAs besser darauf vorbereitet, adäquat zu reagieren.
Eine proaktive Strategie ist zum Beispiel die Festlegung von Performance Baselines. Diese Baselines fungieren als Basisgrößen bei der Überwachung und Verwaltung der Oracle-Systeme. Baselines liefern Statistiken über die Leistung von Datenbanken, Anwendungen, dem Betriebssystem, Netzwerken und Festplatten-I/Os – alles Informationen, die verwendet werden können, um aktuelle oder potenzielle Probleme zu identifizieren.
DBAs sollten auch klare Leistungsziele für die Systeme haben, die sie verwalten. Selbstverständlich sollten sie auch die Ergebnisse verstehen, die sie erreichen möchten. Die regelmäßige Überwachung von Datenbankservern und Speicherplattformen in Hinblick auf diese Ziele ist unerlässlich, um die Leistung zu bewerten, potenzielle Probleme zu identifizieren und bestehende Probleme zu lösen.
2. Denken Sie über den Tellerrand hinaus
Eine Vielzahl von Faktoren außerhalb der Oracle-Datenbank kann die Performance beeinträchtigen. Ein schneller Anwendungsdurchsatz hängt nicht nur davon ab, dass das Datenbankmanagementsystem (DBMS) hochgradig optimiert ist. Wichtig ist auch, dass das DBMS die IT-Infrastruktur des Hosts richtig unterstützt. Aus diesem Grund ist eine gründliche Kenntnis der gesamten Betriebsumgebung für die Bewertung der Leistungsprobleme unerlässlich. So kann sich zum Beispiel die Oracle-Leistung verlangsamen, da Nicht-Datenbankaufgaben, die auf demselben Server ausgeführt werden, immer mehr CPU-Ressourcen verbrauchen.
Die Speicherplattform ist ebenfalls ein wichtiger Aspekt bei der Überwachung und Verwaltung der Oracle-Performance. Die Art der verwendeten Laufwerke beeinflusst die Leistung ebenso wie Speicherprotokolle, Disaster Recovery Setups und die Verwendung von serverseitigem Caching. Auch Netzwerk-, Hardware- und Softwarekomponenten sind kritische Punkte.
Aufgrund der möglichen Auswirkungen auf die Leistung sollten Unternehmen Oracle-Datenbanken auf einer gemeinsamen Plattform implementieren. Die Konsolidierung mehrerer Workloads auf einem einzigen Server kann allerdings die Datenbankleistung auf unerwartete Weise verändern und die Fehlerbehebung erschweren. In den meisten Fällen sollte das DBMS deshalb auf einer speziellen Plattform bereitgestellt werden. Obwohl dieser Ansatz teurer ist, lohnen sich die Vorteile der Investition mittelfristig.
3. Denken Sie sich in die Datenbank hinein
Im Mittelpunkt des Oracle-Anwendungsuniversums steht natürlich die Oracle-Datenbank selbst. Sie sollte das Hauptanliegen des DBAs im Bereich Performance Management sein. Ein guter Startpunkt ist die Überprüfung der vielen optionalen Funktionen der Datenbanksoftware. Dazu gehören zum Beispiel Partitionierung, erweiterte Komprimierung und die Oracle Database In-Memory-Optionen. Obwohl diese und andere Funktionen mit zusätzlichen Lizenzgebühren verbunden sind, können sie sehr nützlich sein und garantieren, dass die erforderliche Leistung tatsächlich erbracht wird.
DBAs sollten auch genau auf die Server- und Datenbankkonfigurationseinstellungen achten, die das DBMS steuern. Die Einstellung des vollständigen Datenbank-Caching-Modus ermöglicht es zum Beispiel, die gesamte Datenbank im RAM zu cachen, um die Performance zu verbessern. Darüber hinaus sollten DBAs sicherstellen, dass Datenbank-Dateien und Puffer-Caches richtig dimensioniert sind, um die eingesetzten Workloads zu unterstützen.
Ein weiterer wichtiger Schritt ist die Überprüfung, wie sich das Datenbankdesign auf die Performance auswirkt. Obwohl die Änderung des Designs einer Datenbank nach der produktiven Inbetriebnahme einen erheblichen Aufwand darstellen kann, wird eine schlecht designte Datenbank wahrscheinlich langfristig immer schlimmere Folgen haben.
4. Optimieren Sie SQL-Abfragen
Schlecht geschriebene SQL-Anweisungen spielen eine große Rolle bei langsamen Datenbankgeschwindigkeiten. Tatsächlich stellen SQL-Anweisungen, die nicht effizient ausgeführt werden, einen wesentlichen Teil aller Oracle-Performance-Probleme dar. Aus diesem Grund sollte jede SQL-Abfrage sorgfältig bewertet und angepasst werden. So lässt sich sicherstellen, dass der effizienteste verfügbare Ausführungsplan verwendet und die Leistung so wenig wie möglich beeinträchtigt wird.
Zum SQL-Optimierungsprozess gehört auch eine sorgfältige Bewertung der Indizierung von Datenbanken. Wenn Indizes richtig implementiert sind, können sie die Leistung von SQL-Abfragen erheblich verbessern. Ein unzureichendes Indexdesign bewirkt hingegen oft den gegenteiligen Effekt. Das Indexdesign ist auch kein einmaliger Check: Eine effektive Indexierungsstrategie ist ein laufender Prozess, bei dem die vorhandenen Indizes permanent überwacht und modifiziert werden sollten, wenn sich die Anwendungen ändern.
5. Wählen Sie die richtigen Performance Management Tools aus
Als Teil der Oracle Enterprise Manager Software bietet Oracle eine breite Palette von Tools, die DBAs bei der Verwaltung der Datenbankleistung unterstützen. So speichert beispielsweise das Automatic Workload Repository (AWR) leistungsbezogene Statistiken, während der Automatic Database Diagnostic Monitor zur Analyse von AWR-Daten verwendet werden kann.
Oracle bietet auch Tools wie Active Session History zur Diagnose der Daten von aktiven Benutzersitzungen, SQL Tuning Advisor zur Optimierung von SQL-Anweisungen und SQL Access Advisor für Empfehlungen zur Implementierung von Indizes und materialisierten Ansichten mit Query-Ergebnissen.
Darüber hinaus können DBAs auf zahlreiche Technologien von Drittanbietern zurückgreifen. Auch sie helfen, Performance-Probleme zu lösen. Zusammen mit den Oracle-Anwendungen haben Admins damit eine Vielzahl von Performance-Management-Tools an der Hand, aus denen sie auswählen können. Um die Oracle Datenbank-Performance effektiv zu überwachen und zu verwalten, werden DBAs diese Vielfalt an Werkzeugen wahrscheinlich auch benötigen.
6. Berücksichtigung Sie den gesamten Daten-Workflow
Bei der Behebung von Performance-Problemen der Oracle-Datenbank sollten DBAs den gesamten Workflow berücksichtigen: Von den Tabellen in der Datenbank bis hin zu den Benutzern, die auf die Daten in diesen Tabellen zugreifen. Für ein effektives Datenbank-Performance-Management ist es von zentraler Bedeutung, die Perspektive des Benutzers einzunehmen. Benutzer sind der wichtigste Teil des Workflows, und ihr Feedback – gepaart mit dem Wissen darüber, was sie in den Datenbanken machen – ist entscheidend für eine optimale Leistung.
Allerdings sollte die Überwachung und Verwaltung der Oracle-Leistung auch alle Datenbanken, Datenbankinstanzen, Anwendungen und anderen Workflow-Komponenten berücksichtigen – einschließlich aller Abstraktionsschichten, die sich nachteilig auf die Leistung auswirken können. Auch Fragen der Skalierbarkeit müssen in die Berechnung einbezogen werden.
Bevor ein DBA versucht, Performance-Probleme zu lösen, sollte sein Ziel sein, die wirklichen Probleme zu lösen. Das erfordert ein vollständiges Verständnis des Anwendungs-Stacks, der auf der Oracle-Datenbank aufbaut.