Die meisten der am Markt etablierten Oracle-Werkzeuge richten sich in der Regel entweder an Entwickler oder an DBAs. In diesem Punkt hebt sich KeepTool klar von anderen Anbietern ab. Sie finden keine Begriffe wie „Entwickler“ oder „DBA“ in unseren Produktbezeichnungen. Sie benötigen keinerlei Zusatzmodule, um mit KeepTool Professional DBA-Funktionen zu benutzen.
Unser Hauptwerkzeug Hora bietet sowohl Entwicklern als auch Administratoren vielfältige Möglichkeiten zur Arbeit mit der Datenbank – und das so einfach, dass Sie in den meisten Fällen nicht einmal zum Handbuch greifen müssen. Die verschiedenen Ansichten innerhalb von Hora arbeiten in überraschend ähnlicher Weise: Einstieg über eine Datenübersicht, dazu verschiedene Detailansichten und über das Kontextmenü alle benötigten Operationen zur Hand.
Neben Hora finden Sie weitere nützliche Werkzeuge zum automatisierten Erzeugen einer HTML-Dokumentation des Datenbankschemas sowie zum Generieren der DDL-Anweisungen und zum Erzeugen aller oder einer Auswahl von Datenbankobjekten des Benutzers. Der SQL-Editor kann durch zahlreiche Optionen an die Bedürfnisse des Benutzers angepasst werden. Er kann auch online, d.h. ohne aktive Datenbankverbindung, zum Editieren beliebiger ASCII-Dateien genutzt werden. Sie werden am Markt kaum eine leistungsfähigere Lösung zu einem so attraktiven Preis finden.
Hora ist unser mächstigstes Tool für Oracle-Datenbanken. Über den Navigator auf der linken Seite haben Sie Zugriff auf die Vielzahl an Horas Werkzeug-Seiten. Diese sind in die Gruppen „Standard“, „Additional“ und „DBA“ sowie eine weitere frei konfigurierbare Gruppe „Favorites“ gegliedert. Unter den Werkzeugen finden Sie beispielsweise eine SQL-Entwicklerseite, einen Dateninhaltsbrowser, oder Verwaltungswerkzeuge für bestimmte Arten von Datenbankobjekten wie Tabellen und Views oder PL/SQL-Objekte.
Ein Großteil der Seiten ist so organisiert, dass Sie eine tabellarische Übersicht des Hauptobjekts (z.B. Tabellen) einschließlich dessen Metadaten sehen. Weitere Detailansichten zeigen dazu untergeordnete Objekte wie Tabellenspalten, Constraints, Indexe, Trigger, usw. Jede Tabellenansicht besitzt ein Kontextmenü um das angezeigte Objekt zu verwalten. Dabei gibt es Operationen wie „Create“, „Alter“, „Drop“ und „Show DLL“.
Die Gruppe DBA enthält Werkzeuge für die Datenbankadministration, z.B. für die Verwaltung von Oracle-Benutzern und Privilegien, zum Verwalten von Tablespaces und für das Monitoring von Oracle-Datenbank-Sessions. Benutzer ohne DBA-Rechte können die Tools im read-only-Modus öffnen, nachdem Sie eine Rolle mit den benötigten Select-Rechten auf die entsprechenden Oracle Data-Dictionary-Views zugewiesen bekommen haben.
Mit dem SQL-Scratchpad können Sie eine hierarchisch organisierte Ablage für Ihre SQL-Anweisungen aufbauen. In der Baumansicht können Sie mehrere SQL-Basisverzeichnisse einbinden und auf diese Weise projektspezifisch im Team gemeinsam nutzen.
Jedem Knoten der Baumansicht ist eine SQL-Datei zugeordnet, die rechts daneben angezeigt wird. Die SQL-Anweisungen können im Batchlauf hintereinander oder einzeln interaktiv ausgeführt werden, wobei die Ergebnismenge in einem andockbaren Ausgabefenster angezeigt wird. In einem weiteren Fenster können Sie die Ausgaben von dbms_output sehen.
Über den DB-Objektbrowser und die Codesnippets auf der rechten Seite können Sie per Drag and Drop Codebestandteile automatisiert erzeugen. Über entsprechende Schaltflächen haben Sie Zugang zu einem Explain-Plan-Dialog zur Anzeige des SQL-Ausführungspfades, zum Oracle PL/SQL-Profiler sowie einem Query-Builder, der sowohl die traditionellen Oracle-Joins als auch ANSI Joins erzeugen kann.
Die abgefragten Dateninhalte können als Excel-Tabelle und in zahlreiche andere Fremdformate exportiert werden.
Über eine Schaltfläche können Sie Ihren PL/SQL-Code unter Aufsicht des Oracle PL/SQL profiler ausführen. KeepTool zeigt die gemessenen Ausführungszeiten und die Anzahl der Durchläufe direkt neben der entsprechenden Quelltextzeile an.
Der Data Content Browser erlaubt es, Daten von Tabellen und Views auf einfache Weise anzuzeigen, zu filtern und zu ändern.
Per Doppelklick auf eine Tabelle oder View auf der linken Seite öffnen Sie die tabellarische Datenansicht auf einer eigenen Tab-Lasche. Sie können danach weiter zu einer Datensatz-Einzelansicht, Baumansicht, Pivotansicht oder Chartansicht wechseln. Für Fremdschlüsselspalten zeigen Tooltipp-Hinweise den referenzierten Master-Datensatz an. Zum Bearbeiten können Sie per „..“- Schalter einen Popup-Dialog öffnen, der die Auswahl eines Referenzdatensatzes aus der Mastertabelle erlaubt.
In der Filterbox oberhalb des Dateninhalt können Sie SQL-Where-Bedingungen eingeben, um die Daten zu filtern. Alternativ dazu können Sie per QBE (query by example) Filterwerte in den Zellen unterhalb der Spaltenüberschriften eingeben. Sie können Daten entlang der Master/Detail-Beziehungen auswerten, indem Sie per Kontextmenü eine referenzierte Master- oder Detailtabelle als gefilterte Datenansicht auf einem anderen Tab öffnen, oder die Detailanzeige unterhalb der Masterdatenansicht aktivieren.
Die angezeigten Dateninhalte können als Excel-Tabelle und in zahlreiche andere Fremdformate exportiert werden.
Diese Ansicht dient der Verwaltung der Struktur sowie der Daten von Tabellen und Views. Auf der Overview-Lasche sehen Sie die Tabellen bzw. Views inklusive Tabellenkommentar sowie weiterer Metadaten. Über die folgenden Laschen können Sie weitere Detailinformationen zu verschiedenen Themen wie Spalten, Constraints, Indexen, Partitionen, usw. abrufen. Das Kontextmenü auf jeder Ansicht bietet entsprechende Operationen zum Hinzufügen oder Ändern von Tabellendetails sowie weitere Operationen an,
Auf der MasterDetail-Lasche sehen Sie ein virtuelles ER-Diagramm mit genau einer Ebene von Master- und Detailtabellen zur Bezugstabelle. Per Doppelklick navigieren Sie die Overview-Anzeige zur angeklickten Tabelle.
Die Lasche „Data Content“ zeigt für die ausgewählte Tabelle eine ähnliche Darstellung wie der Data Content Browser einschließlich der optionalen Anzeige von Detaildaten als Master/Detail-Ansicht.
Die Schema-Ansicht zeigt Informationen in Zusammenhang mit dem Datenbankschema. Nach dem Aufruf wird die erste Lasche „Schema Summary“ geöffnet, die eine Zusammenfassung zum Allgemeinzustand des Schemas wie ungültige bzw. fehlerhafte DB-Objekte, deaktivierte oder unbenutzbare Objekte, Tablespacebelegung und Empfänger von Grants anzeigt.
Die nächste Lasche zeigt eine Pivotdarstellung der Schema-Objekte, der Empfänger von Grants (User oder Rollen) und den erteilten Privilegien. Die Hintergrundfarbe gibt darüber hinaus eine Information, ob der Empfänger des Grants auch Synonyme besitzt.
Die folgenden Laschen zeigen ein Diagramm zu Abhängigkeiten von anderen Schemen, eine kalendarische Darstellung kürzlich vorgenommener Änderungen an Objekten des Schemas, Policy-Funktionen, und detailliertere Informationen zu ungültigen Objekten, PL/SQL-Fehlern, nicht validierten Constraints und unbenutzbaren Indexen. Darüber hinaus gibt es Laschen zum Verwalten der Objekte im Papierkorb sowie zum Bearbeiten von Spatial Columns, d.h. Spalten die räumliche Informationen enthalten.
Für das Anlegen neuer PL/SQL-Objekte können Sie anpassbare Vorlagen benutzen, z.B. um immer den formal gleichen Kommentarblock im Rahmen firmenbezogener Programmierrichtlinien voranzustellen. Quelltextzeilen mit Syntaxfehlern werden im eingebetteten Editor farblich hervorgehoben, so dass sie schnell lokalisiert und behoben werden können.
Für das Testen von PL/SQL-Prozeduren und Funktionen erzeugt Hora automatisch einen anonymen PL/SQL-Block mit Platzhaltern für die entsprechenden Aufrufparameter. Unsere Oberfläche gestattet ein einfaches Navigieren zwischen den eigenen PL/SQL-Objekten und den von anderen Benutzern. Neben der Anzeige und Änderungsmöglichkeit des Quelltextes können Sie auch weitere Informationen wie Synonyme, Berechtigungen etc. bearbeiten.
Oracle bietet die Möglichkeit, auch komplexe Datenbank-Views mit Joins aus mehreren Tabellen Update-fähig zu machen. Dazu muss mit Hilfe von Instead-of-Triggern beschrieben werden, wie die DML-Operationen von der View auf die beteiligten Tabellen abgebildet werden soll. Hora bietet dazu einen Wizard an, der das Erzeugen des benötigten PL/SQL-Codes in 4 Schritten automatisiert:
Auf diese Weise müssen Sie sich nicht manuell die Namen der Schlüssel- und sonstigen Spaltennamen und deren Zuordnung zusammensuchen, sondern brauchen nur die für Sie wirklich wichtigen Vorgaben festlegen.
Auf dieser Seite können Sie Oracle Tablespaces und deren Datafiles verwalten. Die Tabellendarstellung der Übersicht zeigt die Größe des belegten und freien Speicherplatzes (used and free space), Parameter für die Verwaltung der Extents und Statistiken. Darunter werden Datenbankparameter angezeigt, die für die Verwaltung von Oracle Tablespaces relevant sind. Auf den folgenden Seiten können Sie für den aktuell ausgewählten Tablespace weitere Informationen sehen, z.B. Datafiles einschließlich dort gespeicherter Extents und Informationen zur Fragmentierung, Tablespace-Auslastung gruppiert nach Benutzern, Quota und Verwendung des TEMP-Segments.
Für Oracle Tablespaces sowie Datafiles kann die aktuelle Auslastung in Form von Tortendiagrammen angezeigt werden.
Über die Kontextmenüs der tabellarischen Anzeigen stehen zahlreiche Operationen zur Verfügung, z.B. Show DDL, CREATE TABLESPACE, ALTER TABLESPACE, ADD DATAFILE, RESIZE DATAFILE, MOVE TABLESPACE für Segmente.
Mitarbeiter, die in Help-Desks größerer Unternehmen beschäftigt sind, kennen das Problem, dass einzelne Benutzer keinen Zugriff auf gewisse Daten haben. Häufig liegt die Ursache in fehlenden Berechtigungen der Datenbankbenutzer. In diesem Fall muss das Problem dann meist an den Second-Level-Support weitergegeben werden, um auf der Datenbank nachzuschauen.
Wenn ein Benutzer die Daten einer Tabelle ändern kann und ein anderer nicht, reicht es nicht aus, sich die Tabellen-Berechtigungen anzuschauen, da in den meisten Fällen Berechtigungen über Rollen vergeben werden.
Die Abbildung zeigt Horas Database-Ansicht. Die Tilde (~) kennzeichnet Objektprivilegien, die über Rollen erteilt wurden. Für den jeweils ausgewählten Benutzer wird hier leicht verständlich angezeigt, ob Berechtigungen für das Objekt vorhanden sind, d.h. entweder direkt oder über eine Rolle. Eine analoge Ansicht auf der Benutzer-Seite zeigt die Rollen, die einem bestimmten Benutzer erteilt wurden.
Auf dieser Seite können Sie Oracle Pluggable Databases (PDB) und Container Datenbanken (CDB) verwalten. Die Tabellendarstellung der Übersicht zeigt eine Liste der PDBs. Wenn Sie an der Root-Datenbank angemeldet sind, können Sie hier alle PDBs und die Root-CDB sehen und verwalten. Wenn Sie die CDB mit der rechten Maustaste anklicken, öffnet sich ein Kontextmenü zum Hochfahren bzw. Starten der PDB, zum Herunterfahren bzw. Stoppen der PDB, zum Sichern des PDB-Status (um die PDB automatisch mit der Root-CDB zu starten), zum Anlegen einer PDB und zum Klonen einer PDB.
Die beiden Seiten „Users“ und „Tablespaces“ zeigen eine Pivottabelle, die Oracle Schema-Eigentümer bzw. Tablespaces for jede Oracle Container-Datenbank anzeigt. Sie können einen oder mehrere rechteckige Bereiche der als Checkbox angezeigten Pivotzellen markieren, dann zeigt die Tabellendarstellung darunter genau für diese Auswahl Detailinformationen zur Oracle Container-Datenbank an.
Auf der letzten Seite sehen Sie Einstellungen der Oracle Datenbank-Container.
Auf der Übersichtsseite werden Ihnen wichtige Informationen zu jeder Datenbanksitzung dargestellt, z.B. SID, Benutzer, Client-Anwendung. Darunter sehen Sie die ausgeführte SQL-Anweisung der ausgewählten Sitzung. Das Kontextmenü erlaubt es Ihnen, die aktuelle Sitzung zu beenden, den SQL Trace einzuschalten oder die Sitzung in eine andere Gruppe zu verschieben.
Weitere Seiten zeigen zusätzliche Details der ausgewählten Sitzung, z.B. Locks, Latches, beteiligte DB-Objekte, I/O-Statistiken und geöffnete Cursor usw. Auf diese Weise erhält der DBA auf Mausklick die gewünschte Information, ohne SQL-Abfragen gegen Data Dictionary-Views starten zu müssen.
Als DBA können Sie sich kaum vorstellen, dass Sie den Namen einer Data Dictionary View vergessen haben könnten. Allen anderen Benutzern wird die Data-Dictionary-Ansicht von KeepTool eine große Hilfe sein.
Die Standardansicht ist gruppiert nach Präfixen der Data Dictionary View wie z.B. USER_, DBA_ oder V$. Klappen Sie eine Gruppe auf, und wählen Sie darin eine entsprechende View. Danach klicken Sie auf die Columns- oder Data-Browser-Lasche. Insbesondere in entsprechend großen Views wie z.B. DBA_TABLES können Sie nach beliebigen Spalten filtern. Auch wenn sich die Data Dictionary Ansicht auf Horas DBA-Seite befindet, ist sie durchaus nicht nur für DBAs geeignet. Die mitgelieferte Rolle HORA_USER erteilt Ihnen die benötigten Leserechte auf DBA_, GV$ und V$ Views, so dass auch Entwickler auf diese Informationen zugreifen können.
Der Reverse DB Engineer erzeugt auf Knopfdruck das komplette DDL zum Erzeugen aller Objekte des Schemas, oder auch einer beliebigen Teilmenge. Reverse DB kann auch im Batchmodus aufgerufen werden, um z.B. die Struktur des Schemas regelmäßig zu sichern oder in einem Versionsverwaltungssystem zu führen.
Die DDL-Anweisungen der DB-Objekte sind entsprechend der vorhandenen Abhängigkeiten sortiert. Dadurch werden Fehler vermieden, die dadurch entstehen könnten, weil ein referenziertes Objekt erst zu spät erzeugt wird.
Sie können die Tablespace-Klausel bzw. die Storage-Parameter von der Generierung ausschließen, z.B. um das erzeugte DDL zweier Datenbanken miteinander zu vergleichen, typischerweise eine Entwicklungs-DB mit einer produktiven DB. Sequences können mit einem Startwert von 1 oder dem bisherigen Startwert erzeugt werden. Die zweite Auswahl ist beispielsweise perfekt geeignet, um die Daten anschließend mit einem Datapump-Import in die bereits erzeugte Struktur einzuspielen.
Sie können sogar eine Auswahl der Daten als INSERT-Skripte übernehmen. Große Dateien werden dabei automatisch mit einer konfigurierbaren maximalen Dateigröße gesplittet.
Der SQL-Editor ist ein leistungsfähiger Texteditor für SQL und Oracle PL/SQL mit Syntax-Highlighting sowie der Möglichkeit, SQL-Einzelbefehle und Skripts ausführen zu können.
Sie können das Werkzeug in Windows als Standardeditor für SQL-Dateien registrieren. Ohne Oracle-Datenbankverbindung können Sie SQL-Skripts bearbeiten und anpassbare Code-Vorlagen per drag-drop in den Textbereich ziehen. Weiterhin können Sie sich leicht zwischen alle Dateien innerhalb eines Verzeichnisses bewegen. Darüber hinaus steht Ihnen per Schaltfläche ein Werkzeug zum visuellen Vergleich von SQL-Dateien zur Verfügung.
Nachdem Sie eine Verbindung zu einer Datenbank hergestellt haben, können Sie per Drag-and-drop aus dem DB-Objektbrowser Tabellennamen, Spaltennamen, Package- bzw. Prozedurnamen, Parameter usw. in das Codefenster ziehen.
SQL-Abfragen können interaktiv ausgeführt werden, optional sogar mit einer editierbaren Ergebnismenge in der Tabellendarstellung. Der Schalter Batch-Execution führt das gesamte Skript bzw. die markierten Zeilen aus. Oracle-Fehlermeldungen und dbms_output-Ausgaben werden im Ausgabefenster angezeigt. Der SQL-Ausführungsplan kann zur Analyse der Oracle SQL-Performance angezeigt werden.
Insbesondere wenn Ihr Projektteam für die Ablage der Projektdokumentation eine HTML-basierte Plattform wie ein firmeneigenes Intranet oder ein Wiki einsetzt, kann Ihnen der DB Doc aus der Professional Edition eine wichtige Arbeit abnehmen.
Das Werkzeug erzeugt eine HTML-Seite, in der die wichtigsten Metadaten für Tabellen, Views und PL/SQL-Objekte zu einem Bericht aufgearbeitet sind. Für Tabellen und Views werden alle Spalten mit deren Datentypen, Constraints, Indexen und Triggern sowie allen vorhandenen Tabellen- und Spaltenkommentaren ausgegeben.
Für Views und PL/SQL-Spezifikationen wird der Quelltext mit Syntaxhighlighting ausgegeben. Beziehungen zwischen den Objekten werden über Hyperlinks abgebildet. Das Ergebnis kann sofort im Browser dargestellt werden. Probieren Sie unterschiedliche Einstellungen aus und speichern Sie die Datei – einfacher geht es nicht.