luchschen_shutter - Fotolia
Was Performance Tuning für Oracle-Datenbanken möglich macht
Zwei Oracle-Experten diskutieren in diesem Interview über das Performance-Management von Oracle-Datenbanken sowie Tuning- und Überwachungsfunktionen.
Das Performance-Management für Datenbanken ist eine der zeitaufwendigsten Aufgaben, mit denen Oracle-Datenbankadministratoren (DBA) konfrontiert sind. Diese Zeit ist allerdings nicht verloren, sondern sinnvoll investiert: Nur mit einem fundierten Performance-Management lässt sich sicherstellen, dass Oracle-Datenbanksysteme die Anforderungen der Geschäftsanwender an Transaktionsverarbeitung und Data Warehousing erfüllen. Für DBAs ist das richtige Tuning von Datenbanken und die anschließende Überwachung der Abfrageleistung und die Lösung von Problemen deshalb ein Muss.
Admins können sich ihr Leben aber mit Datenbank-Performance-Management-Tools einfacher machen. Im Idealfall können diese Werkzeuge helfen, „den Überblick zu behalten und Engpässe zu identifizieren – noch bevor sie zu einem Problem werden“, sagt Brian Hays, Oracle-Datenarchitekt beim Datenbankdienstleister Remote DBA Experts LLC, das unter dem Namen RDX agiert.
In diesem Interview diskutieren Brian Hays und Chris Foot, Vice President of Delivery Strategies and Technologies bei RDX, Oracle Performance Tuning und Monitoring-Trends, Technologien und Herausforderungen.
Der Oracle Cloud-Service Autonomous Database soll in der Lage sein, sich selbst zu optimieren. Wie verändert die Einführung dieses Services die Performance-, Tuning- und Management-Arbeit von Oracle DBAs?
Chris Foot: In der Data-Warehouse-Version der Autonomous Database gibt es mehr Tuning-Automatisierung als in der Version für die Transaktionsverarbeitung. Im Produkt für die Transaktionsverarbeitung müssen Sie noch manuell Tuning-Indizes und Partitionen anlegen. Insgesamt muss man sagen, dass die automatisierten Funktionen die Relevanz des Datenbank-Performance-Managements nicht reduzieren. Auch die Arbeit, die erforderlich ist, um Systeme für eine optimale Leistung zu konfigurieren, wird kaum weniger. Wir befinden uns heute erst in der Anfangsphase des automatisierten Tunings.
Im Moment bieten sowohl Oracle als auch Microsoft und Amazon nur eine sehr simple Automatisierung des Performance Tunings. Es ist noch nicht so weit, dass diese Anbieter einen Workload überprüfen und sich eine SQL-Anweisung ansehen können. Sie können auch nicht prüfen, wie eine Anweisung geschrieben wurde, und sie können diese nicht neu schreiben, um etwa einen besseren Zugriffspfad zu erhalten. Das effiziente Schreiben von Abfragen ist also nach wie vor wichtig - auch mit den automatisierten Tuning-Funktionen der Oracle Autonomous Database.
Sind DBAs überhaupt bereit, einen Teil ihrer Tätigkeiten an automatisierte Tools weiterzugeben?
Foot: Was die Gegenwart und mittelfristige Zukunft betrifft denke ich, dass die meisten DBAs misstrauisch gegenüber den automatisierten Tuning-Funktionen sind. Oracle Autonomous Database wurde gerade veröffentlicht, so dass es einige Zeit dauern wird, bis Administratoren den Tuning-Empfehlungen der Software vertrauen können. Ein Grund für das Misstrauen ist auch, dass wir von den Benutzern noch nicht viele Rückmeldungen über die Technologie erhalten haben. Die meisten der Informationen, die wir über das Tool erhalten, kommen bis dato von Oracle.
Mit den Tools können DBAs einen tieferen Einblick in Datenbanksysteme erhalten, um Probleme zu identifizieren und zu lösen. Besteht dafür überhaupt ein Bedarf?
Foot: Ich denke schon, aber diese Tools werden weitgehend in der Cloud verschwinden. Da tut sich noch eine Lücke auf. Ein Großteil der Funktionen für Deep Dive Drilldowns ist in der Cloud-Version von Oracle Database nicht verfügbar, da Sie diese nicht ausführen müssen. Der DBA ist aber vor Ort für die Analyse der von den Tools bereitgestellten Daten verantwortlich. Hier muss er feststellen, wo ein Problem liegt, und hier arbeitet er dann vor Ort mit anderen Personen zusammen, zum Beispiel im IT-Betrieb, um die Leistung zu verbessern. In der Cloud übernehmen Oracle und andere Anbieter die Verantwortung dafür.
Aber es wird immer notwendig sein, die lokalen Tools für die Überwachung und Optimierung von Datenbanken zu verbessern. Dazu braucht Oracle Rückmeldungen und die sind in der Cloud leichter zu erhalten als bei abgeschotteten On-Premises-Lösungen. Oracle und andere Anbieter werden deshalb versuchen, Kunden dazu zu bringen, so schnell wie möglich in die Cloud zu wechseln.
„Die Arbeit, die erforderlich ist, um Systeme für eine optimale Leistung zu konfigurieren, wird kaum weniger. Wir befinden uns heute erst in der Anfangsphase des automatisierten Tunings.“
Chris Foot, RDX
Ich bin aber überzeugt, dass lokale und Cloud-Systeme über einen viel längeren Zeitraum nebeneinander existieren werden, als viele Leute glauben. Unternehmen haben schließlich enorme Investitionen in ihre lokalen Systeme getätigt. Und sie haben viele Systeme, die sie nicht in die Cloud verschieben möchten.
Welche Funktionen und Fähigkeiten sollten Benutzer in Datenbank-Performance-Management-Tools von Oracle und Drittanbietern beachten?
Brian Hays: Eine wichtige Funktion ist, Performance Baselines festzulegen und verschiedene Workloads mit diesen Baselines zu vergleichen. Ein weiteres wichtiges Feature ist die Überprüfung historischer Leistungsdaten. Beispielsweise können Sie überprüfen, was die Top-SQL-Anweisungen zur Ressourcenauslastung waren. Dann können Sie weiter aufschlüsseln und einen Analysator über die Daten laufen lassen. Sie sollten auch in der Lage sein, mit den Tools ein Problem auf Knopfdruck zu lösen, ohne zu viel Handarbeit leisten zu müssen. So können Sie schnell sehen, was im System vor sich geht, und dann eine Lösung finden. Oder eine Lösung wählen, die das Tool empfiehlt und genehmigt.
Sind die Oracle Performance Tuning Empfehlungen grundsätzlich vertrauenswürdig?
Hays: Die Empfehlungen sind größtenteils zuverlässig. Wenn Sie allerdings die falsche SQL-Anweisung ausführen, kann das immense Auswirkungen auf eine Datenbank haben. Bei den Werkzeugen gibt es noch Verbesserungspotenzial. Sie machen nicht zu 100 Prozent richtige Vorschläge – und in dem einen Prozent, bei dem sie nicht richtig liegen, können Sie in einem System wirklich in Schwierigkeiten geraten.
„Das, was schief gehen kann, wird schief gehen. In diesem Fall besteht die Herausforderung für DBAs darin, schnell hinter das Problem zu kommen und eine Lösung zu finden.“
Brian Hays, RDX
Was sind die größten Herausforderungen, denen sich DBAs beim Oracle Performance Tuning und Management gegenübersehen?
Foot: DBAs werden immer wieder überrascht werden. Die Benutzer erhöhen das Datenvolumen oder die Datenmenge, auf die zugegriffen wird. Oder sie führen neue SQL-Anweisungen in ein System ein, die nicht auf optimale Leistung ausgelegt ist. Oder sie erhalten eine Mischung von Workloads, die auf magische Weise zusammenkommen, und die Umgebung stark belasten.
Hays: Es ist wie bei Murphy's Law: Das, was schief gehen kann, wird schief gehen. In diesem Fall besteht die Herausforderung für DBAs darin, schnell hinter das Problem zu kommen und eine Lösung zu finden. Wenn Sie anfangen, Benutzer zu befragen und herumzuexperimentieren, ist das schlecht. Schließlich haben Sie nicht den ganzen Tag Zeit, ein Performance-Problem zu analysieren, um zu sehen, was unter welchen Bedingungen passiert.
Wie können DBAs sicherstellen, dass sie mit solchen Überraschungen umgehen können?
Hays: Der beste Weg, sich vorzubereiten, ist, proaktiv zu sein: Führen Sie historische Analysen durch, überprüfen Sie die Baselines, informieren Sie sich, welche Workloads ausgeführt werden, und vor allem: Erstellen Sie Alerts, damit Sie sofort sehen können, wenn Probleme auftreten. Auf diese Weise sind Sie immer bereit, schnell auf das System zu springen, und die Arbeit zu erledigen, die erledigt werden muss.