ODIN

Direkt zum Seiteninhalt

Hauptmenü:

ODIN - Der Zweck dieses Tools
Bei der Entwicklung dieses Monitoring-Tools standen aus der täglichen Arbeit als Oracle-DBA mehrere Fragen im Hintergrund, deren Beantwortung auf herkömmliche Weise nur mit relatv großem Aufwand möglich war: :

- Wie kann ich als Inhouse-Oracle-DBA mir auf eine möglichst schnelle und effiziente Weise einen Überblick über die Performance von Dutzenden Oracle-Datenbanken verschaffen?

- Werde ich mir gewahr über Performance-Änderungen, deren Ursachen nicht in meinem Einflussbreich stehen?

- Wenn Prozesse ausfallen, die auf die Datenbank zugreifen - kann ich das mit den Mitteln herkömmlicher Monitoringtools erkennen?

- Wie erkenne ich Trends bei physical reads oder physical writes oder den Auslastungen von Tablespaces, ohne permanent eine manuelle Liste zu pflegen?

- Wie kann ich möglichst deutlich den Applikationsverantwortlichen die durchgeführten Codeänderungen und deren Einfluss auf die Datenbank-Performance demonstrieren?

- Wie wirken sich Tuningmaßnahmen auf die Performance in Teilen und auf das Gesamtsystem aus?

- Welchen Einfluss hat ein Upgrade des RDBMS auf die Leistungsfähigkeit der Datenbank?

- Funktioniert die Lastverteilung im RAC?

- Wie groß ist die Auslastung eines ausgwählten Schema in einer zentralisierten Datenbank, die als Repository für mehrere Applikationen arbeitet?
Aufbau und Funktion

ODIN wird betrieben auf einem Linux-Server, auf dem eine Oracle-Datenbank installiert ist. Die Datenbank dient ODIN als Repository. Die zu monitorenden Datenbanken sind über Datenbanklinks erreichbar. Auf den Remote-Datenbanken ist ein Benutzer ODINREADONLY angelegt, der ausschließlich Leserechte auf die Systemviews erhält. ODINs Aufgabe ist ausschließlich das Monitoring - für administrative Aufgaben ist ODIN nicht konzipiert. Einmal pro Stunde fragt ODIN einige wenige Systemviews ab und speichert deren Werte in einem eigenen Repository. Aus den Delta-Werten der Metriken werden auf ODINs Server ein- oder mehrmals Grafiken erstellt, die die Performance der Datenbank darstellen. Die Last zur Erstellung der Grafiken findet ausschließlich auf ODINs Server statt und beeinflusst die Remote-Datenbanken in keiner Form. Zusätzlich ist auf dem Server ein Apache Webserver installiert. Als GUI dient ein herkömmlicher Browser (Firefox empfohlen).

Dauer der Datenhaltung
Es werden zur jeden vollen Stunde die Leistungswerte der zu monitorenden Datenbanken abgefragt und für 21 Tage gespeichert - danach werden sie gelöscht. Die erstellten Grafiken werden in eigenen Ordnern auf ODINs Server gespeichert und sind auch über die 21-TagesGrenze verfügbar. Damit lassen sich die Leistungswerte wochenweise in die Vergangenheit zurückblättern.

Grafikenerstellung
Die Grafiken zeigen die Metriken aus den Views V$SYSSTAT, V$SYSTEMEVENT und V$WAITSTAT. Diese Grafiken werden über die crontab gesteuert ein- oder mehrmals pro Tag neu generiert. Durch das Vorhandensein der Grafiken kann ODIN diese auf vielerlei Art präsentieren, die je nach Anwendungszweck ihren Wert haben. Es können zum Beispiel alle Grafiken einer Datenbank untereinander gelistet werden, um sich einen Rundum-Blick zu verschaffen. Da es je nach Oracle-Version einige hundert Werte sind, ist das ein recht zeitaufwändiger Prozess. Über Profile kann eine Auswahl von Grafiken getroffen werden. Diese Grafiken können den Grafiken einer zweiten Instanz gegenübergestellt werden. Oder eine gewählte Grafik kann derselben Grafik aller anderen Datenbanken gegenübergestellt werden. Durch das Vorhandensein aller Grafiken ist ODIN sehr schnell in der Vorlage der Grafiken, was die Arbeit der Kontrolle zu einem sehr schnellen Vorgang werden lässt.

Ursachenermittlung bei Performanceeinbrüchen
Sollte sich in den Grafiken eine Performanceänderung zeigen, unterstützt ODIN bei der Ursachenermittlung. (Der Blick in die entsprechenden Logs der Datenbanken und deren Komponenten behält immer noch höchste Priorität!)

Die Grafiken sind mit den Objektstatistiken von Tabellen und Indizes verlinkt und geben so Aufschluss, auf welche Objekte vermehrt in einem gewählten Intervall zugegriffen wurde.

Das Logbuch gibt Aufschluss über geänderte Systemeinstellungen der Datenbank - soweit verfügbar. Fehler werden protokolliert und können so auf ausgefallene Prozesse hindeuten.

Die manuelle Dokumentationsfunktion erlaubt das Führen einer Historie und kann den DBA bei der Ursachenermittlung unterstützen. Wenn Kollegen Parameter setzen / ändern und den Grund dafür dokumentieren kann diese Information offene Fragen klären.

Die Checkliste ist mit Oracles Informationen zu Fehlern und Alarmen verlinkt und kann so weitere Hinweise liefern.

In der Praxis hat sich der Link zu den neuen oder geänderten Objekten (DDL) bewährt, wenn es zu Änderungen der Performance kam. DB-Entwickler halten sich mit ihrer Genialität gern ein wenig zurück und geben die Informationen zu geänderten Objekten nicht immer an die DBAs weiter.

Der Blick in das Scheduler-Log kann Hinweise zu ausgefallenen Prozessen liefern, deren Auswirkung sich in verminderten Werte in den Grafiken zeigen.


Zusätzliche Features

Im Laufe der Zeit haben sich neben dem Wunsch einer umfassenden Kenntnis über die Performance der zu adminstrierenden Datenbanken auch weitere Forderungen an das Monitoringtool gestellt, die zwar nicht unbedingt unter "Monitoring" einzuordnen sind, die aber dennoch ihren Platz gefunden haben.

ODIN zeigt über eine Funktion "Objekt-Zugriffe" die historischen Werte der Tabellen und Indizes. Über ein vorgeschaltetes Menu kann der Einstieg zu den historischen Werten gewählt werden. Die verschiedenen Kriterien sind Owner, Intervall und Tablespace - darüber werden summierte Werte gezeigt, in die downgedrillt werden kann. Darüber kann unter anderem die Auslastung verschiedener Schema einer zentralisierten Datenbank ermittelt werden.

Eine Liste der Tablespaces zeigt Größe, aktuelle Auslastung und den Trend der Auslastung verschiedener Tablespaces. Die Grafiken der Tablespaces sind verlinkt zu den Objektstatistiken.

Werte aus V$PARAMETER, V$DATABASE und V$INSTANCE werden aufgenommen und gegen den letzten Scan verglichen. Geänderte Werte werden im Logbuch dokumentiert. Die Werte aus diesen Views lassen sich gegeneinander vergleichen. Entweder ein Parameter gegen denselben der anderen Instanzen (Wie sieht der Wert bei anderen Instanzen aus?) oder alle Parameter einer Instanz gegen die einer zweiten. Die Werte werden in einer Ergebisspalte entsprechend mit Gleichheit, Ungleichheit oder Nichtvorhandensein beurteilt.

Das Feature "DBA Catalog Views" listet die Systemviews auf der Remote-Datenbank und ermöglicht deren Ausführung per Klick. Mit neuen Versioen stellt Oracle auch neue Views zur Verfügung - über diese Feature lässt sich Tipparbeit vermeiden, um sich die Ausgabe einer System-View anzusehen.

Ein SQL-Befehlsspeicher dient der Speicherung eigener SQL-Scripte. Die gespeicherten Scripte können per Klick gegen eine eingestellte Datenbank ausgeführt werden. Diese Funkton dient dem schnellen Auffinden von Scripten, es erspart Tipparbeit (und / oder das Suchen des Scriptes in eigenen dateibasierten Scriptsammlungen) und ermöglicht eine thematische Zuordnung.

Eine ähnliche Funktion "OS-Scripts" dient der Speicherung von OS-Scripten samt Beschreibung, die allerdings nicht aus ODIN heraus ausführbar sind. In der Praxis hat sich das Feature (noch) nicht als Herausstellungsmerkmal erwiesen.

Eine Linksammlung kann einem DBA-Team als gemeinsame Quelle der Erleuchtung hilfreich sein.

Eine Checkliste dient als Menu und kann zusätzliche Funktionen aus dem SQL-Depot per Klick aufnehmen.

ODIN ist mandantenfähig. Einem Mandanten kann ODINs volle Funktionalität zur Verfügung gestellt werden oder in nur eingeschränkter Form. Über ein Berechtigungskonzept ist eine Rollenverteilung möglich, die den Funktionsumfang einer Rolle einschränkt.

ODINs Menuführung ist mehrsprachig ausgelegt (französisch, englisch, deutsch) und kann jederzeit um weitere Sprachen ergänzt werden. Die Sprachunterstützung wurde nicht mit Textdateien realisiert, sondern über Sprachvariablen innerhalb ODINs Datenbank. Für Erweiterungen, Rechtschreibfehler oder einem unglücklich gewähltem Ausdruck sind die Variablen online per Editor-Modus veränderbar

Ein DB-Explorer ist eine zwingend logische Folge des SQL-Depot. Wünscht man sich bei der Ausgabe eines ausgeführten Scriptes eine Verlinkung auf zusätzliche in Zusammenhang stehende Informationen, kann ODIN dieses mit dem SQL-Depot nicht liefern. Der DB-Explorer verlinkt Schema, Objekte, Privileges, Rollen, Tablespaces, RMAN-Backups, ASM, RAC Data Guard etc miteinander.

ODIN prüft standardmäßig alle 5 Minuten die Verfügbarkeit und informiert bei Nichterreichbarkeit per Mail und / oder SMS den DBA. ODIN protokolliert das Event im Logbuch und zeigt die Nichterreichbarkeit mit großen roten Lettern auf der Homepage.


Mindestanforderungen zum Betrieb

Linux-Server

Apache Webserver

PHP >5.1 mit GD-Library und oci8-Unterstützung

Oracle 11.2 Datenbank

ODIN ist vom Charakter als Data-Warehouse zu betrachten.
Ein schnelles IO-Subsystem in Verbindung mit hohem Prozessortakt verbessert die Leistungsfähigkeit.


Fazit

ODIN ist als Monitoringtool zur Kontrolle der Datenbankperformance mehrerer Datenbanken ein sehr effizientes Tool.

Aufgrund seiner Struktur ist es dem Oracle-DBA möglich, sich sehr schnell und einfach über die Leistungsfähigkeit der Datenbanken zu informieren.

ODIN spart der Firma Zeit und Geld

ODIN kann vor Imageschäden aufgrund fehlerhafter DB-Konfiguration schützen.

ODIN hat sich im täglichen Einsatz bewährt!
 
Homepage | Support | Generelle Seitenstruktur
Zurück zum Seiteninhalt | Zurück zum Hauptmenü