Wie gesund ist meine Oracle Datenbank?

gesund-title

In meiner zweiten Praxisphase bei der ORDIX AG unterstützte ich unseren Bereich Team DB Support bei der Entwicklung von Health-Checks für Oracle Datenbanken, welcher auf Wunsch für Kunden angefertigt wird. Konkret ging es hier um eine Erweiterung, um Sollwerte dynamisch definieren zu können. Damit wurde die Möglichkeit geschaffen, ganze Kundensysteme oder auch nur einzelne Datenbanksysteme mit verschiedenen Grenzwerten automatisch zu bewerten. Dieser Artikel soll einen Einblick in die Health Check Dienstleistung für die Supportkunden der ORDIX AG geben.

Der Checkup der Datenbank

Unsere Health Checks bieten eine aufbereitete Übersicht über den Zustand eines Datenbanksystems. Dafür werden relevante Daten der Umgebung des Kunden gesammelt und mittels Oracle APEX als HTML Seite aufbereitet. Auf dieser Basis überprüft ein ORDIX Datenbankadministrator (DBA) dieses Dokument, bewertet die verschiedenen Unterchecks und trifft eine Aussage zur „Gesundheit" und ergänzt mögliche Verbesserungen oder weist auf Risiken der Datenbank hin. Die ersten Seiten des Reports erhalten eine Beschreibung der untersuchten Checks, die hauptsächlich für das Management gedacht sind, daher besitzt sie den Namen „Management Summary" (Vgl. Abbildung 1). Die Management Summary listet dabei nur Auffälligkeiten und notwendige bzw. empfohlene Aktionen auf. Für die technikorientierten Datenbankverantwortlichen ist jeder Aspekt in den darauffolgenden Seiten ausführlich erläutert.

Abbildung 1 Übersicht aller Auffälligkeiten in der Datenbank mit Bearbeitungsbedarf

Die APEX-Applikation zur Dokumentengenerierung wird bei Bedarf mit jeder neuen Version weiter ergänzt entweder um zum Beispiel die automatische Vorbewertung zu verbessern oder auch um weitere Checks zur Bewertung einzubauen. Zum Zeitpunkt dieses Artikels wird bereits ein Großteil der Prüfungen in der Vorbewertung automatisiert bewertet. Für die finale Version werden sie natürlich von einem DBA nochmals überprüft. Dies nimmt jedoch einige Arbeit ab, welche sonst sehr zeitaufwändig wäre. Die generierte HTML Seite der Applikation wird anschließend als PDF an den Kunden gesendet.

Checks der Datenbankumgebung

Der Health Check überprüft verschiedene Grundaspekte der Datenbank. Er protokolliert unter anderem ob der Archive Log Modus korrekt aktiviert ist und wann Backups erfolgreich (oder auch nicht) erstellt wurden. Gescheiterte Backups werden hervorgehoben und an einer weiteren Stelle mit Zusatzinformationen festgehalten.

Eine größere Gruppe an Checks sind die verschiedenen Kapazitäten der Datenbank. Sie teilen sich z.B. in die Filesystem Kapazität und Überdeckung auf. Der Kapazitäts-Check vergleicht den physikalisch noch freien Speicher mit dem aktuellen Füllgrad, und die Überdeckung, ob der Autoextend für die Datafiles noch genug Platz für Erweiterungen hat. Zudem wird in Graphen dargestellt, wie sich der Füllgrad der einzelnen Files im vergangenen Jahr entwickelt hat. Die gleiche Prozedur folgt für die Allokation der Tablespaces sowie für die Füllgrade der TEMP- und UNDO-Tablespaces.

Die Buffer-Hit-Ratio der Datenbank gibt als Prüfung an, wie viele Leseoperationen aus dem Hauptspeicher erfolgen und wie viele Zugriffe die Festplatte beanspruchen. Sie wird zum einen als Ganzes, für die ganze Datenbank, und zum anderen pro Tabelle bewertet, um mögliche Ausreißer zu erkennen und behandeln zu können.

Ebenfalls werden die Datenbankversion und der aktuell eingespielte Patch Level auf Aktualität überprüft. Dabei wird kontrolliert, ob der Kunde mit seinem Lizenz-Paket von Oracle noch mit Updates versorgt wird, oder ob ein Release-Upgrade in Betracht gezogen werden muss. Unterhalb dieses Checks zeigt eine Tabelle zusammenfassend die aktuellen Oracle Datenbankversionen an und wie lange diese Versionen jeweils unterstützt werden.

Abbildung 2 Health-Check Diagramm Beispiel zu Log Switchen

Zuletzt werden verschiedene Checks, wie beispielsweise die Gesamtanzahl der Redo Log Switches, Oracle Fehler, ungültige Objekte, etc. angezeigt. Die Auflistung der Einzelheiten jedes Problems in diesem Bereich erfolgt im Anhang des Health-Checks.

Fazit

Natürlich gibt es auf einschlägigen Seiten unzählige Health Check Skripte zu finden und auch Oracle bietet von sich aus bereits den „Health Monitor"[1] zur Überprüfung der Datenbank Integrität an. Diese Skripte geben jedoch nur ermittelte Kennzahlen aus, welche generell und ohne Möglichkeiten zur Sonderbewertung dargestellt werden. Der ORDIX Health Check für Oracle Datenbanken bietet dazu eine gute Ergänzungsmöglichkeit für alle Firmen, die neben Health Check-Skripten auch noch eine Einschätzung von erfahrenen DBAs haben wollen, die zusätzlich Hintergrundwissen zur verwendeten Umgebung besitzen.


[1] https://docs.oracle.com/cd/B28359_01/server.111/b28310/diag007.htm#ADMIN11273

By accepting you will be accessing a service provided by a third-party external to https://blog.ordix.de/