Linux-Magazin-Logo Die Zeitschrift für Linux-Professionals

Oracle-Datenbanksysteme mit proprietären und freien Tools verwalten

David und Goliath

Wojtek Bolimowski

Gute Werkzeuge für Oracle-Datenbanken kann der Admin nie genug haben. Die Open-Source-Welt steuert mehrere Profi-Tools bei, die den Programmen des Herstellers in nichts nachstehen.

Oracle-Anwender erhalten für Linux eine Reihe vernünftiger Verwaltungstools direkt vom Datenbankhersteller. Aber auch die Open-Source-Gemeinde schläft nicht, wenn es darum geht, kommerzielle Datenbanken anzusteuern. Von den vielen freien Projekten ist Tora das wohl interessanteste. Der Vergleich zwischen Oracles Originaltools und den Open-Source-Programmen mag auf den ersten Blick an den Kampf zwischen David und Goliath erinnern, aber letztlich tritt der Administrator als Kampfrichter auf und der Ausgang ist noch lange nicht entschieden. Dieser Artikel stellt Administrations- und Monitoring-Tools vor.

Out of Box: Oracle-Tools

Die schlechten alten Zeiten von Oracle 8i[1] gehören der Vergangenheit an. Keine komplizierte Installation mehr und auch das aufwändige Programmieren von Skripten entfällt. Oracle hat sehr viel Arbeit in die Linux-Version der Datenbank gesteckt. Der Oracle-Support für bestimmte Distributionen kann mindestens mit dem Support für die Windows-Plattform Schritt halten. Der Autor hat zwar Probleme mit der Installation des Oracle-Clients auf Red Hat 9 erlebt (Inkompatibilitäten mit Shared-Libraries). Allerdings unterstützt Oracle Red Hat auch nicht offiziell. Zudem war das Problem nach einer Recherche im Internet innerhalb weniger Minuten gelöst.

Nach der Installation des Oracle-Clients erhält der Anwender Zugriff auf die ganze Palette der Administrationstools. Ein Großteil ist über das DBAstudio-Tool ansprechbar, das der Anwender mit dem Befehl »oemapp dbastudio« aufruft. Oracle befolgt die konsequente Strategie mit einer einheitlichen Benutzerschnittstelle für alle Systemplattformen: Neben der gleichen Funktionalität gibt's auch das gleiche Look & Feel wie bei den Windows- oder Solaris-Versionen.

Gleiche Tools für alle Plattformen

Der Benutzer definiert manuelle Verbindungsparameter oder greift auf die automatische Konfiguration zurück, die alle Daten aus der Datei »tnsnames.ora« bezieht. Die Benutzerschnittstelle der Applikation ist elegant und ergonomisch. Es gibt dutzende Erstellungshilfen und Assistenten, die auch für fortgeschrittene Administratoren brauchbar sind. Dank der so genannten "Erstellen wie"-Assistenten können typische administrative Aufgaben schnell und problemlos erledigt werden.

Hilfreich ist es zudem, den auszuführenden SQL-Code in der Vorschau zu betrachten. Diese Option ist über den Button »Show SQL« beziehungsweise »Hide SQL« (Abbildung 1) einstellbar. Der Zugriff auf die administrativen Tools erfolgt über das Hauptmenü. Die Werkzeuge sind thematisch gruppiert: Instance, Schema, Security, Storage, Distributed, Warehouse und Workspace. Außerdem gibt es weitere Programme, die nur über das linke Fenster zur Verfügung stehen.

Abbildung 1: DBAstudio stellt den SQL-Code für jeden Befehl übersichtlich in einem eigenen Fenster dar.

Monitoring und Performance-Messung

Ein besonders nützliches Werkzeug ist der Oracle-Performance-Manager, der die Überwachung verschiedener Parameter erlaubt und dem Administrator damit beim Tuning hilft. Dort findet er detaillierte Informationen über Datenbank-Locks. Er zeigt sogar die User-Sessions, die wegen der Sperren blockiert sind. Über das Menü »Instance | Sessions« wird der aktuelle Status der Datenbank abgefragt. In der allgemeinen Ansicht sind Informationen über Sessions, Benutzer und deren Aktivitäten zu finden. Session-Details verraten die aktuell auszuführende Query und ihre erwartete Dauer (Abbildung 2).

Abbildung 2: DBAstudio spekuliert, wie lange die aktuelle Query wohl dauert.

Die Verwaltung von Datenbankobjekten mit DBAstudio ist einfach und eine wahre Freude. Objekte gruppiert das Werkzeug nach Schema und nach Typ. Auf jeder Ebene befindet sich ein Kontextmenü mit interessanten Funktionen. Klickt der Anwender zum Beispiel in der Baumstruktur auf die »Tables«-Schaltfläche im ausgewählten Schema, kann er Tabellen exportieren oder importieren, eine Statistik abrufen oder die Tabellenliste in einer Datei speichern.

Die einzige schmerzlich vermisste Funktion bei den Oracle-Tools ist ein guter SQL-Editor. Leider ist das von Oracle gebotene Programm namens SQL Worksheet nichts weiter als ein einfacher Editor mit SQL-Output.

Tora, die freie Alternative

Wer schon mal die Toad- oder SQL-Navigator-Tools ausprobiert hat, wird sich mit Tora[2] wohl fühlen. Das hervorragende Werkzeug wurde von dem Schweden Henrik Johnson entwickelt. Es ist ein weiteres Beispiel dafür, dass Open-Source-Tools, die unter der GPL-Lizenz veröffentlicht werden, problemlos mit kommerzieller und proprietärer Software konkurrieren können. Es gibt zwei Versionen der Applikation: eine für Windows und eine für Linux. Allerdings ist nur die Linux-Version gratis zu haben, aktuell trägt sie die Nummer 1.2.4. Das gesamte Paket hat eine Größe von etwa 8 MByte und lässt sich unter Red Hat 9 leicht installieren:

rpm --Uhv tora-1.2.4-1oracle8.i386.rpm

Tora besitzt ein einfaches und intuitives Interface. Die Unterschiede zwischen Oracles DBAstudio und Tora fallen sofort auf: Tora ist ein besonders vielseitiges Tool, das sich auch als Programmierhilfe für PL/SQL eignet.

Tora besitzt einen eigenen Datenbankobjekt-Viewer, der den Zugriff auf Tabellen, Indizes, Synonyme, PL/SQL-Objekte, Sequenzen und Trigger erlaubt. Die meisten Attribute lassen sich problemlos editieren (Abbildung 3). Im Vergleich zu DBAstudio fehlen jedoch ein paar Funktionen, vor allem den Support für Datenbank-Links und -Jobs werden Admins vermissen. Außerdem liefert Tora kein Tool für die Partitionierung von Tabellen und Indizes. Hier muss der Verwalter selbst Hand anlegen.

Abbildung 3: Im Tora-Viewer editiert der Admin die Attribute der Datenbankobjekte.

Tuning-Interface inklusive

Tora offeriert eine sehr intuitive Verwaltung von Benutzern und Zugriffsrechten und ähnelt darin dem Look & Feel von DBAstudio. Das Paket bietet einige interessante Optionen wie das Kopieren von Benutzerkonten. Positiv fallen zudem die Tools für die Verwaltung von Tabellen und Datenbankdateien auf, die Datenblöcke der Tabellen so darstellen, dass eine Fragmentierung auf den ersten Blick zu erkennen ist.

Zum Lieferumfang von Tora gehören außerdem hervorragende Werkzeuge, um den Instanzstatus zu überwachen und das Performance-Management zu regeln: Server-Tuning, Session-Manager, SGA-Trace. Hier werden auch viele nicht standardisierte Informationen angezeigt, beispielsweise verschlüsselte Verbindungen, Sperren oder offene Cursor.

Ein besonders spannendes Programm ist Server-Tuning. Es visualisiert grundlegende Datenbankparameter wie die Buffergröße oder die Logging-Geschwindigkeit. Weitere Charts stellen die Geschwindigkeit von physikalischen I/O-Operationen für bestimmte Dateien dar. Mit diesem Tool sind auch schnelle Diagnosen einer Datenbank möglich, sollte sie sich auffällig verhalten. Leider erzeugen die Monitoringfunktionen zusätzliche Last. Sie sollten daher besser nicht mitlaufen, sondern nur gezielt im Problemfall zum Einsatz kommen.

Entwickeln mit Tora

Lobenswert ist außerdem, dass zwei Entwicklertools auf sehr überzeugende Art integriert sind: der SQL-Editor und der PL/SQL-Debugger. Syntax-Highlighting, das Exportieren der Query-Ergebnisse ins CSV- und HTML-Format, die Darstellung von Statistiken zur Ausführung - das sind nur ein paar Beispiele für Toras Funktionsumfang.

Das Programm ist leicht zu bedienen und komfortabel. Es kann mit Windows-Applikationen wie Toad SQL/Navigator problemlos mithalten. Tora bietet eine fast identische Funktionalität, und zwar einschließlich eines funktionellen Werkzeugs, um Objekte aus unterschiedlichen Datenbanken oder Schemata aufzuspüren und zu vergleichen (siehe Abbildung 4).

Abbildung 4: Tora vergleicht Datenbanken auf Schema-Ebene, um schnell die Vollständigkeit zu prüfen.

Dass Tora Datenbanken auf Ebene des Schemas vergleichen kann, gibt dem Admin eine schnelle Methode an die Hand, um die Vollständigkeit einer Datenbank in unterschiedlichen Umgebungen zu prüfen. Diese Funktion erweist sich als besonders nützlich, wenn man mehrere identische Umgebungen ausführt.

Und wo bleibt der Rest?

Es gibt im Internet zahlreiche andere Open-Source-Tools für Oracle-Datenbanken. Bei denen handelt es sich jedoch größtenteils um einfache Table-Viewer oder Editoren. Allerdings bieten sich zwei dieser Tools als funktionale Ergänzungen an.

Das erste, Orac[3] von Andy Duncan, ist in Perl/Tk geschrieben. Es handelt sich um eine Sammlung verschiedener Skripte, die das Monitoring der physikalischen Datenbankdateien, der Benutzer und der Datenbankobjekte übernehmen (siehe Abbildung 5). Die Funktionalität kann der Anwender mit eigenen Skripten erweitern. Die Untersuchungsergebnisse lassen sich als Balkendiagramme ausgeben. Gut: Orac muss man nicht aufwändig installieren, lediglich die beiden Perl-Module »DBI« und »DBD-Oracle« sind nötig.

Abbildung 5: Orac in Aktion: Der Admin lässt sich die Vorschau eines ausführbaren SQL-Skripts anzeigen.

Orac und Oracletool

Das zweite interessante Open-Source-Projekt ist Adam von Niedas Oracletool[4]. Es ähnelt Orac und erlaubt es, den Status einzelner Oracle-Instanzen zu überwachen. Als Besonderheit läuft das Werkzeug als CGI auf Apache. Damit eignet sich Oracletool optimal für die Remote-Überwachung von Datenbanken, bei denen die Firewall eine SQL/Net-Verbindung verhindert. Oracletool nutzt SSL, um den Fernzugriff auf die Datenbank zu sichern.

Tora bleibt frei dank GPL

Administratoren, die Oracle auf Linux verwalten, können auf die gleichen nativen Oracle-Tools zurückgreifen, die für die Windows-Plattform zur Verfügung stehen. Diese eignen sich gut, um das Programm Tora zu ergänzen. Meldungen vom Januar 2004 besagen allerdings, dass Tora von Quest Software aufgekauft wurde, einem führenden Hersteller von Oracle-Tools. Trotz aller Bedenken, dass Tora jetzt irgendwann nur noch als kommerzielles Produkt erhältlich sein könnte: Der Quellcode unterliegt der GPL, die Open-Source-Version bleibt also weiter verfügbar. (jre)

Infos

[1] Oracle: [http://www.oracle.com]

[2] Tora: [http://www.globecom.se/tora]

[3] Orac: [http://www.tux.org/orac-dba]

[4] Oracletool: [http://www.oracletool.com]

Der Autor

Wojtek Bolimowski lebt und arbeitet in Warschau. Sein Abenteuer mit Linux begann im Jahr 1996 - seither ist Slackware seine bevorzugte Distribution. In den letzten drei Jahren war er als Oracle-DBA beschäftigt, obwohl er sich in dieser Zeit auch mit MySQL und PostgreSQL befasst hat. Wojtek schreibt jetzt für die polnische Ausgabe des Linux-Magazins.