Der Froschkönig
Große Datenbankhersteller wie Oracle bieten selten geeignete Werkzeuge an, die Entwickler und Administratoren bei der täglichen Arbeit unterstützen. Ein mächtiges Tool sorgt hier für Abhilfe und schließt die Lücke.
- Wolfgang Gabriel
Im Jahre 1995 entwickelte Jim McDaniel ein freies Werkzeug namens „Tool for Oracle Application Developers“ (kurz Toad, deutsch Kröte). Es erfreute sich großer Beliebtheit, da es frei erhältlich war und ständig weiterentwickelt wurde. Schließlich reihte es der Toolhersteller Quest neben dem erfolgreichen SQL Navigator in seine Produktpalette ein. Eine freie Version mit eingeschränktem Funktionsumfang ist weiterhin erhältlich. Anfangs gab es nur eine Version für Oracle, doch seit kurzem bietet Quest auch Toad-Varianten für MySQL und MS SQL Server an.
Beim ersten Start sorgt allein die Masse an Menüeinträgen, Icons und Optionen für ziemliche Verwirrung (s. Aufmacher). Eines vorweg: Zahlreiche Funktionen entdeckt man erst im Laufe der Zeit, zumal vieles nicht unbedingt täglich benötigt wird. Eine grobe Einteilung der Funktionen:
- Schema-Browser (Anzeigen sämtlicher Datenbank-Objekte wie Tabellen, Views, PL/SQL-Module et cetera sowie Daten),
- SQL-Editor (Interaktive Eingabe und Ausführung beliebiger SQL- und PL/SQL-Anweisungen), Procedure-Editor (PL/SQL-Editor mit Debugger) und
- Utilities (Wrapper zu allen wichtigen Oracle-Tools wie SQL*Loader, Im-/Export, Java-Utilities, Unix-Kommandos wie telnet, ping, ftp und so weiter).
Toad ist in zwei Lizenzvarianten verfügbar: je eine Version für Entwickler und für Administratoren. Sie unterscheiden sich im Wesentlichen durch den Menüeintrag „DBA“. Diese Differenz ist für die Praxis recht sinnvoll, da Entwickler eben keine administrativen DBA-Aufgaben ausführen sollten.
Datenbankobjekte erstellen und ausgeben
Mit den lizenzpflichtigen Zusatzmodulen Toad Debugger, Formatter Plus und SQLab Xpert lässt sich der Funktionsumfang von Toad bausteinartig erweitern. Formatter Plus ermöglicht eine standardisierte Formatierung und Qualitätssicherung von PL/SQL-Quellcode, der Debugger erlaubt die Fehlersuche darin, und SQLab Xpert schließlich unterstützt beim Tuning komplexer SQL-Anweisungen.
Über das Menü „Create“ lassen sich zurzeit 25 DB-Objekte anlegen. Für jedes gibt es eine komfortable Eingabemaske, in der sämtliche Parameter festzulegen sind. Gerade bei der inzwischen unüberschaubaren Vielzahl der Oracle-Optionen spart dies langes Blättern in einer Referenz. Stets lässt sich sogar das entsprechende SQL-Skript über die Funktion „Show SQL“ in einem eigenen Fenster anzeigen.
Unter dem Menüpunkt „Tools“ finden sich unterschiedliche Hilfsmittel. Besonders erwähnenswert ist ein „HTML Schema Doc Generator“, der DB-Inhalte im HTML-Format dokumentieren kann. Dabei lassen sich zahlreiche Darstellungsparameter festlegen, bis hin zur Einbindung externer CSS-Dateien.
Mit „Rebuild Table“ steht eine mächtige Funktion zur Verfügung: Sie generiert sämtliche SQL-Anweisungen für neu anzulegende Tabellen. Ohne Hilfsmittel kann sich ein solches Vorhaben in der Praxis schnell zu einer zeitraubenden Angelegenheit entwickeln. Rebuild Table berücksichtigt Abhängigkeiten automatisch, etwa von Triggern, PL/SQL-Modulen, GRANTs et cetera, die es allesamt rekompiliert oder neu anlegt.
diff und patch für Oracle
„Single object comparison“ ermittelt für ein Datenbankobjekt (Tabelle, Trigger, PL/SQL et cetera), ob es sich von einem Objekt in einem anderen Schema unterscheidet - sozusagen ein diff für Datenbanken. Auf Wunsch erstellt Toad sogar ein SQL-Skript, das die Differenzen beseitigt - patch für SQL.
Über den „SQL Modeler“ ist es möglich, SQL-Abfragen per Drag and Drop zusammenzustellen. In der Praxis ist dies jedoch kaum hilfreich, da Abfragen normalerweise ohnehin als Skript entstehen - beispielsweise direkt in Toads eigenem SQL-Editor. „ER Diagram“ erzeugt aus einer Tabellenauswahl das passende Entity-Relationship-Diagramm. Hier zeigt sich, dass grafische Darstellungen keine Stärke von Toad sind. Verbindungslinien erscheinen recht wirr, und es gibt keine Möglichkeit, Layouts zumindest manuell zu optimieren. Die Funktion „Auto layout“ hilft in dieser Situation kaum. Der Hersteller verweist für diese Aufgaben auf Zusatzwerkzeuge.
Einen unausgereiften Eindruck hinterlässt die Bedieneroberfläche zum PL/SQL-Profiler. Die Ergebnisse eines Profiler-Laufs sind in der gewählten Tabellenform unübersichtlich und das Tortendiagramm sagt wenig aus. Die Darstellung der gegenseitigen Abhängigkeiten von DB-Objekten vermag nicht zufriedenzustellen, denn die Darstellung des Ergebnisses als Liste ist alles andere als zweckmäßig. Quest sieht sein Produkt SQL Impact deshalb als besser geeignet für diese Aufgabe.
Bei der Arbeit mit relationalen Datenbanken fällt eine Vielzahl kleinerer Skriptdateien mit SQL-Anweisungen an. Schnell kann man darüber den Überblick verlieren. Um Ordnung zu schaffen, enthält Toad einen „Script manager“. Komfortabel bietet er eine Organisation nach Kategorien an. Standardmäßig gehören 70 SQL-Skriptdateien und 48 Unix-Shellskripts für DBA-Aktionen zum Lieferumfang, die eine reiche Fundgrube darstellen. Wahlweise lässt sich ein SQL-Skript in den SQL-Editor laden oder über den „Quest Script Runner“ sofort ausführen.
Für den Datenbankadministrator sind folgende Funktionen sinnvoll: „Health Check“ (Überprüfen des Servers anhand von 50 Kriterien), „Session Browser“ (Überwachen sämtlicher DB-Sessions) und „Database Monitor“ (zeitliche, grafische Überwachung von I/O, Event waits und Call/Miss rates). Die Tablespaces lassen sich einfach administrieren, komplette Strukturen von Datenbanken sogar als SQL-Skript generieren.
Sessions und Locks überwachen
Ein überaus nützliches Feature stellt der „Session Manager“ dar: In ihm behält man den Überblick über sämtliche Datenbank-Sessions (aktiv oder inaktiv). In einem Fenster sieht man zudem die in jeder Sitzung gerade ausgeführte SQL-Anweisung. Etwaige Tabellen-Locks sind auf einen Blick erkennbar.
SQL-Anweisungen kann man im gleichnamigen Editor eingeben oder aus ihm PL/SQL-Module aufrufen. Auf Tastendruck zeigt er den zugehörigen Ausführungsplan an. Eine History-Funktion speichert alle Abfragen - das hilft, will man diese nicht als Datei sichern.
Über das Menü „View/Options“ lassen sich viele Einstellungen zu Funktionen ändern. Leider ist diese Darstellung unübersichtlich, und das Suchen eines bestimmten Parameters kann viel Zeit kosten. In der Grundeinstellung etwa erscheinen Einträge von Job-Queues in fremden Schemas zunächst nicht. Man wird eher zufällig entdecken, dass sie erst bei gesetzter Option „Check for access to DBA views“ zu sehen sind.
Quellcode von SQL-Skripts, PL/SQL-Prozeduren et cetera lässt sich mit einem externen Quellcode-Verwaltungssystem (VCS) organisieren. Eine Verarbeitung der neuen XML-Datentypen in Oracle kündigte Quest allerdings erst für die kommende Version 8.0 an.
Dr. Wolfgang Gabriel
ist Senior Consultant für Basistechnologie und Oracle-Datenbanken der DaimlerChrysler Bank in Stuttgart.
iX-WERTUNG
[+] umfassender Funktionsumfang
[+] geeignet für Entwickler und DBAs
[+] leistungsfähige SQL-Skriptgeneratoren
[-] viele Menüs und Optionen unübersichtlich
[-] grafische Darstellungen noch nicht ausgereift
[-] hoher Einarbeitungsaufwand wegen unübersichtlicher Funktionsvielfalt
| Daten und Preise | |
| Speicherbedarf | mind. 128 MByte RAM, 45 MByte freier Plattenplatz |
| Lizenzierung | Schlüssel, Testlizenz für 30 Tage |
| Datenbanken | Oracle (bis 9.2), MySQL, MS SQL Server |
| Sprache | US-Englisch |
| Betriebssysteme | Windows (NT, 2000/2003, XP) |
| Preis | ab 723 EUR |
| Hersteller | Quest, www.quest.com, www.toadsoft.com |
(ck)