Logo Oracle Deutschland   DBA Community  -   Juni 2011 (ergänzt August 2013)
SQL Developer für DBAs
von Ulrike Schwinn, ORACLE Deutschland B.V. & Co. KG

Warum publizieren wir einen Artikel über das SQL Developer Werkzeug in der DBA Community? Der Name SQL Developer steht eigentlich eher für die Verwendung im Datenbank Entwicklungsumfeld. Die einfache Bedienung und vielfältigen Schnittstellen machen das Werkzeug allerdings auch für den DBA interessant. Ein zusätzliches Argument liefert die Tatsache, dass seit Release 3 DBA Features im SQL Developer zur Verfügung stehen. Dabei sind die DBA Aufgaben sogar über ein spezielles Connection Fenster ("View => DBA") erreichbar.

Zusätzlich kann man mit dem SQL Developer, Session und SQL Monitoring, SQL Tuning oder Change Management (unter "Tools => Database Diff ...") Aufgaben durchführen. Mit Release Oracle Database 12c und dem De-Support von Oracle Database Control (siehe MOS Note 1484775.1) stellt sich ausserdem die Frage, ob SQL Developer eine sinnvolle Ergänzung zum neuen Werkzeug Enterprise Manager Database Express darstellt.

Weitere Vorteile wie zum Beispiel der geringe Speicherplatzbedarf und die leichte Installation sollten nicht unerwähnt bleiben. Die Software passt auf jeden Speicher-Stick und benötigt ungefähr 170 bis 210 MB. Die Installation besteht dabei nur aus dem Auspacken der Software; keine zusätzlichen Oracle Client- oder gar Server-Installationen sind zur Nutzung nötig. SQL Developer ist natürlich uneingeschränkt für alle Datenbank Versionen einsetzbar. SQL Developer unterstützt sogar bereits Features der aktuellen Datenbank Version Oracle Database 12c und bietet dabei spezielle Schnittstellen für die Multitenant Architektur oder die neuen Security Data Redaction Features.

Seit wann gibt es SQL Developer und wie erhält man die Software? Oracle SQL Developer ist ein Java basierendes Werkzeug, das seit März 2006 zum Download von OTN zur Verfügung steht. Jede Datenbanksoftware enthält automatisch eine Version von SQL Developer. Diese Versionen sind allerdings wie alle Oracle Werkzeuge unabhängig von der Datenbankversion und müssen nicht dem aktuellsten Release Stand entsprechen. Generell wird daher empfohlen sich auf OTN zu informieren (siehe Abschnitt "Weitere Informationen") und die neueste Version zu installieren. Im Beitrag wird die aktuelle Version 3.2.10 verwendet; SQL Developer 4.0 Early Adopter 1 steht unter der gleichen Downloadadresse schon zur Verfügung.

Interessant sind auch die Integrationsmöglichkeiten in andere Bereiche und Werkzeuge. So existieren im aktuellen Release Schnittstellen zu Migrationswerkzeugen, Data Mining, Data Modeler, APEX, Times Ten In Memory Database etc. Hat man Fragen zur Bedienung oder Ideen für Erweiterungen (auch Enhancement Requests) liefert das entsprechende Forum (siehe Weitere Informationen) eine gute Plattform bzw. Hilfestellung.

Um einen ersten Eindruck von den Möglichkeiten des SQL Developers zu erhalten, versuchen Sie den Menüpunkt "Manage Database" (erreichbar über "Connections" und einem rechten Mausklick). Hier wird ein erster Überblick über das Memory und die Tablespaces gegeben. Folgender Screenshot zeigt die Nutzung von "Manage Database":


Für eine größere Ansicht auf das Bild klicken.

Um eine kleine Auswahl an DBA Funktionen zu demonstrieren, ist der Tipp in folgende Abschnitte unterteilt.

Bevor wir mit der Beschreibung der einzelnen Bereiche beginnen, wollen wir vorab noch ein paar grundsätzliche Informationen für Einsteiger zur Nutzung des SQL Developers geben. SQL Developer ist ein menügesteuertes Werkzeug. Für jede Datenbankverbindung - auch Connection - existiert auf der linken Seite ein Menüpunkt mit den zugehörigen Objekten, deren Details auf der rechten Seite angezeigt werden. Eine Connection wird über das entsprechende Connection Fenster definiert, benannt und gespeichert. Dabei ist die Rolle SYSDBA möglich. Ein zweiter Menüpunkt verweist auf Berichte - die sogenannten Reports. Es gibt einige vordefinierte Berichte (siehe unten) und die Möglichkeit eigene Berichte zu definieren und zu speichern. Grundsätzliche Einstellungen sind über den Menüpunkt "Tools => Preferences" vorzunehmen. Hier können beispielsweise NLS Einstellungen, Lizenzierungs-Einstellungen oder AUTOTRACE Informationen u.v.m. eingestellt werden.

DBA Navigator
Der DBA Navigator ist ein neuer Bereich im SQL Developer, der für DBA Tätigkeiten eingeführt worden ist. Erreichbar über den Menüpunkt "View => DBA" existiert für User mit SYSDBA Privilegien die Möglichkeit, datenbank-relevante Informationen zu überwachen oder zu ändern. Ein zusätzliches Fenster mit den entsprechenden SYSDBA Connections - das sogenannte DBA Navigator Feld - steht dann als Arbeitsbereich für folgende Tätigkeiten zur Verfügung:
  • Database Configuration
  • Database Status
  • Data Pump
  • RMAN Backup/Recovery
  • Resource Manager
  • Scheduler
  • Security
  • Storage
Folgender Screenshot zeigt den aktivierten DBA Navigator Bereich:


Für eine größere Ansicht auf das Bild klicken.

Im Bereich Database Configuration kann man Initialisierungsparameter einsehen und verändern (Doppelklick auf den Wert), Database Feature Usage überwachen, die Database Properties wie zum Beispiel NLS-Einstellungen einsehen und den UNDO Tablespace überwachen bzw. den UNDO Advisor nutzen.

Database Status gibt Informationen zum Status an, die zum Teil aus v$instance ausgelesen werden.

Im Data Pump Bereich werden die Data Pump Export und Import Jobs aufgelistet. Das Action Menü gibt dabei die Möglichkeit einen eigenen Job zu erzeugen.

Im RMAN Backup/Recovery Bereich ist es möglich, RMAN Einstellungen zu definieren, Backup Sets und Image Kopien aufzulisten und zu bearbeiten und Backup und Restore/Recovery Jobs zu erzeugen. RMAN Scheduler Jobs können in einem eigenen Menüpunkt überwacht werden.

Der Resource Manager Bereich liefert über einen zusätzlichen "Actions..." Button nicht nur die Möglichkeit des Überwachens der Ressource-Einstellungen sondern ermöglicht das Setup von Gruppen, Plänen, Prioritäten und das Überwachen der entsprechenden Statistiken.

Unterstützung von Tuning-Aufgaben
Auch der Bereich Reports (View=>Reports) weist interessante Aspekte für den DBA auf. Beispielsweise gibt der Auswahlpunkt "Database Administration" im "Data Dictionary Reports" Bereich einen Überblick über vorhandene Sperren, aktive Sessions, Top SQL, aktive Cursors usw. Ausserdem können die aktuellsten AWR und ASH Reports ausgegeben werden (Data Dictionary Reports=>ASH and AWR) - allerdings nur in Text Form und ohne die Möglichkeit einzelne Snapshots auszuwählen. Glaubt man den Foren Einträgen wird sich dies bald ändern.

Ab Oracle 11g steht auch eine Art SQL Monitoring Feature im SQL Developer zur Verfügung. Über den Menüpunkt "Tools => Monitor SQL..." werden die aktuellen SQL Statements, die den Anforderungen von SQL Monitoring entsprechen (d.h. parallel ablaufen, länger als 5 Sekunden dauern oder mit Hint MONITOR ausgestattet sind) in tabellarischer Form unter Angabe von CPU, IO, Dauer, Statement Text usw. ausgegeben. Öffnet man parallel dazu den Sessions Bereich über "Tools => Monitor Sessions..." kann man darüber hinaus die betroffene Session über die SID identifizieren.

Unabhängig davon ist ein Vergleich (mit AUTOTRACE und EXPLAIN PLAN) zweier verschiedener Statement Ausführungen möglich. Dazu führt man zuerst das Statement aus, generiert dabei die entsprechenden AUTOTRACE Informationen (Klick im SQL Worksheet auf das Icon "Autotrace...") und speichert die Information mit dem Pin Button ab. Danach führt man das geänderte Statement (z.B. Änderung von Filterkriterien, Hints, Variablen, etc.) erneut unter Verwendung von Autotrace-Informationen ab. Ein rechter Mausklick führt zu der Operation "Compare With Autotrace". Das Ergebnis ist eine Gegenüberstellung der graphischen Ausführungspläne und der Autotrace Statistiken der beiden Statementvarianten. Alle Informationen, die rot eingefärbt sind, weisen auf Unterschiede hin. Folgender Screenshot zeigt das Ergebnis.


Für eine größere Ansicht auf das Bild klicken.

Im SQL Worksheet gibt es auch die Möglichkeit einen SQL Tuning Advisor Lauf anzustoßen und die Empfehlungen im Statistik-, SQL Profile-, Index- oder Statement- Umfeld zum Beispiel durch zusätzliches Öffnen eines SQL Script Windows zu implementieren. Der zusätzliche Reiter "Details" beschreibt die Empfehlungen, gibt eine Einschätzung der Verbesserung ab, listet die notwendigen Kommandos auf und vergleicht den alten und neuen Ausführungsplan miteinander.


Für eine größere Ansicht auf das Bild klicken.

Hinweis: Bei der Nutzung von Features aus den Management Pack Bereichen erfolgt ein entsprechender Hinweis auf die notwendige Lizenzierung. Möchte man die erforderliche Lizenzierungs Information hinterlegen, kann über den Menüpunkt "Tools => Preferences" (siehe Screenshot) die erforderliche Einstellung pro Connection angegeben werden.


Für eine größere Ansicht auf das Bild klicken.

Unterstützung von 12c Features
Wer sich schon ein wenig mit den neuen 12c Features beschäftigt hat, hat sicherlich schon von den beiden interessanten Features Multitenant Architektur und Data Redaction gehört bzw. vielleicht sogar schon ausprobiert. SQL Developer bietet für beide Funktionen eine graphische Schnittstelle. Befindet man sich im DBA Navigator und ist man mit einer Multitenant Database verbunden, können mit einem rechten Mausklick auf eine Pluggable Database die entsprechenden Funktionen wie Plug, Unplug, Clone etc. ausgewählt werden. Ein einfacher Ablauf hilft dann bei der Durchführung.


Für eine größere Ansicht auf das Bild klicken.

Ein Tutorial von OTN zum Thema Managing Pluggable Databases gibt einen guten Überblick und beschreibt ausführlich die folgenden Features:
  • Erzeugen einer PDB aus einer Seed Datenbank
  • Ändern des PDB Datenbank Status
  • Unplug und Plug einer PDB
Das Feature Data Redaction ist hingegen im "Tables" Menü zu finden. Erforderlich ist ein rechter Mausklick (Auswahlmenü "Security") auf die entsprechende Tabelle. Hinweis: Eine wichtige Voraussetzung für das Funktionieren im SQL Developer ist der GRANT auf folgende Privilegien:
grant select on sys.redaction_policies to user;
grant select on sys.redaction_columns to user;
grant execute on dbms_redact to user;  
Danach lässt sich im Menü die entsprechende Aktion wie Add/Alter/Drop oder Disable/Enable Redaction Policy auswählen. Auch hier hilft ein einfacher Prozess bei der Durchführung. Das entsprechende SQL Statement kann dann wie bei den Multitenant Database Features zur Kontrolle überprüft werden.


Für eine größere Ansicht auf das Bild klicken.

Auch für dieses Feature existiert schon ein ausführliches Tutorial auf OTN. Zu finden ist es hier.

Weitere Informationen

Folgende Tipps und Links können hilfreich sein: Mehr zu diesem Thema bzw. zu weiteren Themen rund um die Datenbank lesen Sie in den nächsten Ausgaben ...

Zurück zur Community-Seite