Oracle SQL Developer kann aus sehr unterschiedlichen Gründen langsam wirken. Manchmal benötigt das Programm ungewöhnlich lange zum Starten. In anderen Fällen reagiert der Editor verzögert, die Objektstruktur lädt nur schleppend oder eine SQL-Abfrage liefert ihre Ergebnisse erst nach langer Wartezeit.
Diese Probleme dürfen nicht miteinander verwechselt werden. Eine langsam ausgeführte Datenbankabfrage wird normalerweise nicht dadurch schneller, dass du Erweiterungen deaktivierst oder SQL Developer mehr Arbeitsspeicher zuweist. Umgekehrt hilft ein besserer Ausführungsplan nicht, wenn bereits die Benutzeroberfläche beim Schreiben hängen bleibt.
Die wichtigste Maßnahme besteht deshalb darin, zunächst festzustellen, welcher Teil tatsächlich langsam ist:
- Programmstart
- Benutzeroberfläche und Editor
- Aufbau der Datenbankverbindung
- Laden von Tabellen, Views und Packages
- Ausführung der SQL-Anweisung
- Übertragung und Darstellung der Ergebnismenge
Erst danach sollten Einstellungen verändert werden.
SQL Developer langsam: Welches Problem liegt vor?
| Beobachtung | Wahrscheinlicher Bereich |
|---|---|
| SQL Developer benötigt lange zum Starten | Erweiterungen, Update-Prüfung, Benutzerprofil, Java |
| Menüs und Tabs reagieren verzögert | Arbeitsspeicher, viele geöffnete Fenster, Benutzerprofil |
| Schreiben im Editor ruckelt | Completion Insight, semantische Analyse, große Dateien |
| Verbindung wird langsam aufgebaut | Netzwerk, VPN, DNS, Listener, TNS-Konfiguration |
| Tabellen und Packages öffnen langsam | Datenbankverbindung, Metadatenabfragen, Objektanzahl |
| Eine bestimmte SQL-Abfrage ist langsam | Datenbank, Ausführungsplan, Sperren, Statistiken |
| Ergebnisraster friert ein | Zu viele Zeilen, Fetch-Größe, Speicherverbrauch |
| Nur der Export ist langsam | Datenmenge, Dateiformat, Arbeitsspeicher, Datenträger |
Diese Unterscheidung verhindert, dass wahllos Einstellungen verändert werden, die mit dem eigentlichen Problem nichts zu tun haben.
Die wichtigsten Maßnahmen im Überblick
Für eine schnelle Grundoptimierung solltest du diese Reihenfolge verwenden:
- SQL Developer vollständig neu starten.
- Nicht mehr benötigte Worksheets und Ergebnistabs schließen.
- Aktuelle SQL-Developer-Version und unterstütztes JDK verwenden.
- Automatische Update-Prüfung beim Start deaktivieren.
- Nicht benötigte optionale Features deaktivieren.
- SQL-Historie begrenzen.
- Automatische Codevervollständigung reduzieren.
- SQL Developer testweise mit einem neuen Benutzerprofil starten.
- Abfrage unabhängig von SQL Developer testen.
- Erst bei nachgewiesenem Speichermangel den Java-Heap erhöhen.
1. Aktuelle SQL-Developer-Version verwenden
Oracle veröffentlicht regelmäßig neue SQL-Developer-Versionen mit Fehlerkorrekturen und technischen Anpassungen. Im Juli 2026 ist SQL Developer 26.2 die aktuelle eigenständige Version. Sie wurde am 14. Juli 2026 veröffentlicht und verwendet JDK 17.
Eine neue Version sollte nicht einfach über eine bestehende Installation entpackt werden. Oracle empfiehlt ausdrücklich, das neue Paket in einem eigenen Verzeichnis zu installieren. Ein vorhandener sqldeveloper-Ordner soll nicht überschrieben werden.
Eine saubere Verzeichnisstruktur unter Windows kann beispielsweise so aussehen:
C:\Tools\SQLDeveloper\26.2\
C:\Tools\SQLDeveloper\24.3\
Dadurch kannst du die neue Version zunächst testen, ohne die bisherige Installation zu beschädigen.
Einstellungen nicht sofort vollständig übernehmen
SQL Developer bietet beim ersten Start häufig an, Einstellungen einer älteren Version zu übernehmen. Das ist bequem, kann jedoch alte oder fehlerhafte Einstellungen in die neue Version übertragen.
Bei unerklärlichen Leistungsproblemen ist daher folgender Test sinnvoll:
- Neue Version in ein separates Verzeichnis entpacken.
- Alte Einstellungen zunächst nicht importieren.
- Eine Datenbankverbindung manuell anlegen.
- Startzeit und Editorreaktion vergleichen.
- Erst danach benötigte Einstellungen und Verbindungen übernehmen.
Ist die neue Installation ohne importierte Einstellungen schnell, liegt das Problem wahrscheinlich im bisherigen Benutzerprofil und nicht im eigentlichen Programm.
2. Das richtige Java Development Kit verwenden
SQL Developer ist eine Java-Anwendung. Die verwendete Java-Version hat daher unmittelbaren Einfluss auf Startverhalten, Kompatibilität und Speicherverwaltung.
SQL Developer 26.2 benötigt JDK 17. Für einige Betriebssysteme stellt Oracle ein Paket mit integriertem JDK bereit. Bei Paketen ohne eingebettetes Java muss ein geeignetes JDK separat installiert werden.
SQL Developer speichert den verwendeten Java-Pfad in der Datei product.conf. Unter Windows befindet sie sich typischerweise in einem versionsabhängigen Verzeichnis unter:
C:\Users\<Benutzer>\AppData\Roaming\sqldeveloper\<Version>\product.conf
Der Java-Pfad wird dort mit SetJavaHome festgelegt:
SetJavaHome C:\Program Files\Java\jdk-17
Oracle dokumentiert ausdrücklich, dass eine fehlerhafte JDK-Zuordnung durch Anpassung dieser Zeile korrigiert werden kann.
Typische Java-Probleme
Kontrolliere den Java-Pfad insbesondere, wenn:
- SQL Developer nach einem Update nicht mehr korrekt startet,
- mehrere JDK-Versionen installiert sind,
- eine alte SQL-Developer-Installation übernommen wurde,
- SQL Developer plötzlich deutlich langsamer geworden ist,
- die Anwendung eine falsche Java-Architektur verwendet,
product.confnoch auf ein gelöschtes JDK verweist.
Es ist nicht sinnvoll, SQL Developer wahllos mit irgendeiner installierten Java-Version zu starten. Verwende die von Oracle für die jeweilige SQL-Developer-Version vorgesehene JDK-Version.
3. Automatische Update-Prüfung deaktivieren
SQL Developer kann beim Start automatisch nach Aktualisierungen für das Programm und installierte Erweiterungen suchen. Insbesondere hinter einem Proxy, in einem Firmennetzwerk oder bei eingeschränktem Internetzugang kann diese Prüfung den Start verzögern.
Oracle weist ausdrücklich darauf hin, dass die automatische Update-Prüfung die Startzeit verlängern kann. Die Option kann unter den Einstellungen für Erweiterungen deaktiviert werden. Aktualisierungen lassen sich anschließend weiterhin manuell über Help beziehungsweise Hilfe → Check for Updates prüfen.
Je nach Version befindet sich die Einstellung unter einem dieser Bereiche:
Tools → Preferences → Extensions
oder:
Tools → Features
Deaktiviere:
Automatically Check for Updates
Die manuelle Aktualisierungsprüfung sollte trotzdem regelmäßig durchgeführt werden.
4. Nicht benötigte Erweiterungen und Features deaktivieren
SQL Developer enthält Funktionen für unterschiedliche Einsatzgebiete:
- Datenbankmigrationen
- Data Modeler
- Data Miner
- Versionsverwaltung
- REST Services
- Drittanbieter-Datenbanken
- DBA-Funktionen
- XML- und weitere Spezialwerkzeuge
Nicht alle Funktionen werden bei jeder Installation benötigt.
Unter:
Tools → Features
können optionale Features deaktiviert werden. Verpflichtende Kernkomponenten lassen sich nicht abschalten. Nach einer Änderung muss SQL Developer neu gestartet werden. Oracle bestätigt, dass die dort verwalteten Extensions bestimmen, welche Funktionen beim Start geladen werden.
Deaktiviere nur Funktionen, die du sicher nicht verwendest. Wer beispielsweise Datenbanken migriert, sollte die Migrationsfunktionen nicht entfernen. Für eine reine SQL- und PL/SQL-Entwicklungsumgebung können jedoch verschiedene Zusatzkomponenten entbehrlich sein.
Erweiterungscache leeren
Im Bereich Tools → Features befindet sich zusätzlich die Funktion Clear Cache. Sie entfernt zwischengespeicherte Feature-Daten. Das kann hilfreich sein, wenn SQL Developer nach einem Update oder einer Erweiterungsänderung ungewöhnlich langsam startet.
5. SQL-Historie sinnvoll begrenzen
SQL Developer speichert ausgeführte SQL-Anweisungen in einer Historie. Sie kann über View → History oder im Worksheet mit F8 geöffnet werden.
Die maximale Anzahl gespeicherter Einträge wird unter folgendem Bereich festgelegt:
Tools → Preferences → Database → Worksheet
Dort befindet sich die Einstellung:
SQL History Limit
Oracle beschreibt diesen Wert als maximale Anzahl der in der SQL-Historie gespeicherten Anweisungen.
Ein praxistauglicher Wert liegt für die meisten Nutzer zwischen:
500 und 2.000 Einträgen
Extrem große Werte bringen selten einen echten Vorteil. Dauerhaft benötigte SQL-Anweisungen sollten nicht ausschließlich in der Historie aufbewahrt werden. Speichere sie stattdessen als .sql-Datei oder in einer Versionsverwaltung.
Alte Historie löschen
Die Historie kann im History-Fenster teilweise oder vollständig gelöscht werden:
View → History → Clear History
Vor dem Löschen sollten wichtige Abfragen gespeichert werden.
SQL Developer speichert die Historie in der Benutzerprofildatei SqlHistory.xml. Sie befindet sich unter Windows typischerweise in:
C:\Users\<Benutzer>\AppData\Roaming\SQL Developer\SqlHistory.xml
Unter Linux liegt sie üblicherweise unter:
~/.sqldeveloper/SqlHistory.xml
Die SQL-Historie besteht damit nicht aus Tausenden einzelnen Dateien, sondern wird als Teil der benutzerbezogenen SQL-Developer-Daten verwaltet.
6. Completion Insight reduzieren
Completion Insight ist die automatische Codevervollständigung des SQL Editors. SQL Developer analysiert dabei den aktuellen Kontext und bietet passende Tabellen, Spalten, Funktionen und Parameter an.
Bei großen Schemas, langsamen Datenbankverbindungen oder umfangreichen PL/SQL-Dateien kann diese automatische Analyse den Editor verzögern.
Die Einstellungen befinden sich unter:
Tools → Preferences → Code Editor → Completion Insight
Dort kannst du:
- automatische Vorschläge für SQL Worksheets deaktivieren,
- automatische Vorschläge im PL/SQL Editor deaktivieren,
- die Verzögerung bis zur Anzeige erhöhen,
- Pop-ups bei sehr vielen Treffern unterdrücken,
- Completion Insight vollständig manuell verwenden.
Oracle dokumentiert, dass automatische Pop-ups begrenzt oder deaktiviert werden können. Die manuelle Codevervollständigung bleibt über Ctrl + Leertaste verfügbar.
Empfohlene Einstellung
Bei einem trägen Editor ist folgende Konfiguration sinnvoll:
Automatisches Popup: deaktiviert
Manueller Aufruf: Ctrl + Leertaste
Damit wird die Metadatenanalyse nur ausgeführt, wenn du sie tatsächlich benötigst.
7. Semantische Analyse gezielt deaktivieren
Die semantische Analyse untersucht SQL- und PL/SQL-Code bereits während der Bearbeitung. Fehler und Warnungen werden durch farbige Markierungen und Wellenlinien dargestellt.
Die Option befindet sich unter:
Tools → Preferences
→ Code Editor
→ Completion Insight
→ Semantic Analysis Info Tips
Oracle beschreibt die Funktion als Editoranalyse für grammatikalische Probleme, Parse-Fehler und Warnungen.
Bei sehr großen Packages oder Skripten kann das Deaktivieren die Reaktionsgeschwindigkeit des Editors verbessern.
Wichtig ist die korrekte Einordnung:
Die semantische Analyse beeinflusst die lokale Codeanalyse im Editor. Sie beschleunigt nicht automatisch die Ausführung einer SQL-Anweisung in der Oracle-Datenbank.
Eine Abfrage, die aufgrund eines schlechten Ausführungsplans zehn Minuten benötigt, wird durch das Abschalten der semantischen Analyse nicht schneller.
8. Zu viele geöffnete Worksheets und Ergebnistabs vermeiden
Jedes geöffnete Worksheet, jeder Objekteditor und jedes Ergebnisraster benötigt Speicher und hält zusätzliche Zustände im Benutzerinterface.
Besonders belastend sind:
- große Ergebnismengen,
- mehrere offene Tabellenansichten,
- zahlreiche Package-Editoren,
- Data-Modeler-Diagramme,
- mehrere aktive Debugger-Fenster,
- sehr große SQL-Dateien,
- nicht mehr benötigte Exportvorschauen.
Schließe daher regelmäßig nicht benötigte Tabs über:
Window → Close All Documents
oder:
Window → Close Other Documents
Oracle stellt diese Funktionen ausdrücklich für die Verwaltung geöffneter Fenster bereit.
9. Automatisch geöffnete Worksheets deaktivieren
SQL Developer kann beim Öffnen einer Datenbankverbindung automatisch ein neues Worksheet öffnen.
Diese Einstellung befindet sich unter:
Tools → Preferences → Database → Worksheet
Deaktiviere bei Bedarf:
Open a worksheet on connect
Oracle dokumentiert außerdem die Option New Worksheet to use unshared connection. Ist sie aktiviert, verwendet jedes neue Worksheet eine eigene, nicht geteilte Datenbankverbindung. Viele offene Worksheets können dadurch auch viele Datenbanksitzungen erzeugen.
Für die normale Entwicklung genügt häufig eine gemeinsam verwendete Verbindung. Separate Verbindungen sind nur notwendig, wenn Transaktionen, Session-Einstellungen oder parallele Tests bewusst voneinander getrennt werden müssen.
10. Große Ergebnismengen vermeiden
SQL Developer muss Abfrageergebnisse nicht nur von der Datenbank übertragen, sondern anschließend im Ergebnisraster aufbereiten und darstellen.
Eine Abfrage wie:
SELECT *
FROM sehr_grosse_tabelle;
kann deshalb mehrere voneinander getrennte Belastungen verursachen:
- Die Datenbank liest viele Blöcke.
- Die Daten werden über das Netzwerk übertragen.
- Der JDBC-Treiber verarbeitet die Datensätze.
- SQL Developer speichert Teile des Ergebnisses im Arbeitsspeicher.
- Das Ergebnisraster rendert die Daten.
Verwende während der Entwicklung deshalb eine Zeilenbegrenzung:
SELECT *
FROM sehr_grosse_tabelle
FETCH FIRST 200 ROWS ONLY;
Bei älteren Oracle-Versionen kann alternativ eine ROWNUM-Bedingung verwendet werden:
SELECT *
FROM sehr_grosse_tabelle
WHERE ROWNUM <= 200;
Die Begrenzung dient nur der Entwicklung und Prüfung. Sie ersetzt keine fachlich korrekte Filterbedingung.
11. SQL Array Fetch Size nicht wahllos erhöhen
Unter:
Tools → Preferences → Database → Advanced
befindet sich die Einstellung:
SQL Array Fetch Size
Sie bestimmt, wie viele Zeilen SQL Developer pro Abrufvorgang in das Datenraster übernimmt.
Ein größerer Wert kann die Zahl der Netzwerkabrufe reduzieren, benötigt aber mehr Speicher pro Abruf. Ein kleiner Wert reduziert den unmittelbaren Speicherbedarf, kann jedoch zusätzliche Netzwerk-Roundtrips verursachen.
Daher gilt:
- Bei hoher Netzwerklatenz kann ein moderat größerer Wert helfen.
- Bei sehr breiten Tabellen oder großen LOB-Spalten kann ein kleinerer Wert stabiler sein.
- Eine extreme Erhöhung ist keine allgemeine Performance-Lösung.
- Zuerst sollte die zurückgegebene Datenmenge reduziert werden.
Ändere den Wert nur schrittweise und dokumentiere die ursprüngliche Einstellung.
12. Benutzerprofil testweise zurücksetzen
SQL Developer speichert außerhalb des Installationsverzeichnisses zahlreiche benutzerbezogene Daten:
- Einstellungen
- SQL-Historie
- Snippets
- Codevorlagen
- benutzerdefinierte Reports
- Fensterzustände
- Erweiterungskonfigurationen
Oracle dokumentiert diese Daten als benutzerbezogene Informationen und empfiehlt vor einem Zurücksetzen ausdrücklich eine Sicherung des entsprechenden Profilverzeichnisses.
Unter Windows befinden sich versionsbezogene Einstellungen typischerweise unter:
C:\Users\<Benutzer>\AppData\Roaming\sqldeveloper\
Unter Linux und macOS werden sie je nach Version unter .sqldeveloper oder einem anwendungsspezifischen Benutzerverzeichnis gespeichert.
Sicherer Profiltest
- SQL Developer vollständig schließen.
- Profilverzeichnis sichern.
- Den versionsbezogenen Ordner umbenennen.
- SQL Developer neu starten.
- Keine alten Einstellungen importieren.
- Startzeit und Reaktionsgeschwindigkeit prüfen.
Beispiel:
system26.2.0.186.2220
umbenennen in:
system26.2.0.186.2220_backup
Die genaue Bezeichnung hängt von der installierten Version ab.
Ist SQL Developer mit einem neuen Profil deutlich schneller, liegt die Ursache wahrscheinlich in alten Einstellungen, einem beschädigten Cache oder migrierten Konfigurationsdaten.
13. Benutzerverzeichnis auf einem lokalen Datenträger speichern
Über die Umgebungsvariable IDE_USER_DIR kann festgelegt werden, wo SQL Developer seine benutzerbezogenen Daten speichert. Oracle dokumentiert, dass dieser Speicherort Vorrang vor den Standardverzeichnissen besitzt.
Da dort unter anderem Einstellungen, Verlauf und Vorlagen gelesen und geschrieben werden, sollte das Verzeichnis auf einem schnellen lokalen Datenträger liegen.
Problematisch können sein:
- langsame Netzlaufwerke,
- Offline-Folder,
- stark ausgelastete Profilserver,
- permanent synchronisierte Cloud-Verzeichnisse,
- Benutzerprofile mit hoher Dateisystemlatenz.
Ein mögliches lokales Verzeichnis wäre:
C:\SQLDeveloper\UserData
Vor einer Änderung müssen die bisherigen Profildaten gesichert werden.
14. Lokale Dateihistorie und Logdateien prüfen
SQL Developer kann Änderungen an geöffneten Dateien in einer lokalen Historie speichern. In den Einstellungen lässt sich festlegen, wie lange diese Informationen aufbewahrt werden und wie viele Revisionen pro Datei gespeichert werden.
Der Bereich befindet sich unter:
Tools → Preferences → Environment → Local History
Bei sehr großen Dateien oder vielen Änderungen kann eine umfangreiche lokale Historie zusätzlichen Speicher- und Dateisystemaufwand verursachen.
Unter:
Tools → Preferences → Environment → Log
kann SQL Developer außerdem Protokolle dauerhaft in Dateien schreiben. Oracle weist darauf hin, dass dabei eine große Anzahl an Logdateien entstehen kann.
Prüfe deshalb:
- Ist das permanente Speichern von Logs aktiviert?
- Wird ein sehr langes Aufbewahrungsintervall verwendet?
- Befindet sich das Logverzeichnis auf einem langsamen Laufwerk?
- Sind ungewöhnlich viele oder große Logdateien vorhanden?
Logdateien sollten bei einer laufenden Fehleranalyse nicht vorschnell deaktiviert werden. Im normalen Betrieb ist eine unbegrenzte Speicherung jedoch selten notwendig.
15. Arbeitsspeicher nur bei tatsächlichem Bedarf erhöhen
SQL Developer verwendet einen Java-Heap. Ist dieser zu klein, können große Exporte, umfangreiche Data-Modeler-Projekte oder viele gleichzeitig geöffnete Ergebnisraster zu häufigen Speicherbereinigungen und verzögerten Reaktionen führen.
Eine höhere maximale Heap-Größe kann dann helfen. Sie sollte jedoch nicht pauschal erhöht werden.
Eine mögliche Einstellung in product.conf lautet:
AddVMOption -Xmx2048M
Damit wird die maximale Heap-Größe auf zwei Gigabyte gesetzt.
Für sehr große Projekte kann beispielsweise getestet werden:
AddVMOption -Xmx4096M
Diese Werte sind praktische Ausgangswerte und keine universelle Oracle-Vorgabe. Die passende Einstellung hängt von Arbeitsspeicher, Datenmenge und parallelen Anwendungen ab.
Beachte:
- Nur eine aktive
-Xmx-Zeile verwenden. - Vor Änderungen
product.confsichern. - SQL Developer nach jeder Änderung neu starten.
- Nicht den gesamten verfügbaren Arbeitsspeicher zuweisen.
- Eine größere Heap-Grenze macht SQL-Abfragen in der Datenbank nicht automatisch schneller.
Oracle dokumentiert die Verwendung von AddVMOption -Xmx... beispielsweise für speicherintensive Exporte.
16. Langsame Datenbankverbindung von langsamer Oberfläche unterscheiden
Wenn bereits das Öffnen einer Verbindung lange dauert, liegt das Problem möglicherweise nicht im SQL-Developer-Interface.
Mögliche Ursachen sind:
- langsame Namensauflösung,
- nicht erreichbare Hosts in der TNS-Konfiguration,
- VPN-Verbindungen,
- Firewalls,
- Proxy- oder Sicherheitsprüfungen,
- hohe Netzwerklatenz,
- langsamer Oracle Listener,
- verzögerte Authentifizierung,
- ausgelastete Datenbankserver.
Führe eine einfache Testabfrage aus:
SELECT SYSTIMESTAMP
FROM dual;
Vergleiche anschließend dieselbe Verbindung mit SQLcl oder SQL*Plus. Oracle stellt SQLcl als eigenständige Kommandozeilenoberfläche für Oracle Database bereit.
Das Ergebnis lässt sich so interpretieren:
| Beobachtung | Wahrscheinliche Ursache |
| SQL Developer und SQLcl sind langsam | Datenbank oder Netzwerk |
| Nur SQL Developer ist langsam | Client, Einstellungen oder Benutzerprofil |
| Verbindung schnell, einzelne Abfrage langsam | SQL beziehungsweise Datenbank |
| Abfrage schnell, Ergebnisdarstellung langsam | Datenmenge oder Ergebnisraster |
17. Langsame SQL-Abfrage nicht mit SQL-Developer-Tuning lösen
Die SQL-Anweisung wird grundsätzlich von der Oracle-Datenbank ausgeführt. SQL Developer übermittelt die Anweisung und stellt anschließend die Ergebnisse dar.
Ist nur eine bestimmte Abfrage langsam, sollten unter anderem diese Bereiche geprüft werden:
- Ausführungsplan
- Indizes
- Tabellen- und Indexstatistiken
- Join-Reihenfolge
- Filterbedingungen
- implizite Datentypkonvertierungen
- Sperren und blockierende Sessions
- Parallelisierung
- zurückgegebene Datenmenge
- Netzwerkübertragung
- LOB-Spalten
- Sortierungen und Aggregationen
Eine höhere Java-Heap-Größe kann die Darstellung einer großen Ergebnismenge verbessern. Sie ändert aber nicht den Ausführungsplan der Abfrage.
Nutze für eine erste Analyse beispielsweise:
EXPLAIN PLAN FOR
SELECT ...
FROM ...;
SELECT *
FROM TABLE(DBMS_XPLAN.DISPLAY);
Für eine belastbare Laufzeitanalyse ist ein tatsächlicher Cursorplan mit Laufzeitinformationen aussagekräftiger als ein ausschließlich geschätzter Explain Plan.
18. Große Skripte nicht dauerhaft in einem Worksheet halten
SQL-Dateien mit mehreren zehntausend Zeilen können den Editor belasten. Besonders aufwendig werden sie, wenn gleichzeitig folgende Funktionen aktiv sind:
- automatische Codevervollständigung,
- semantische Analyse,
- lokale Dateihistorie,
- Syntaxhervorhebung,
- Fehlerindikatoren,
- automatische Wiederherstellung,
- mehrere Ansichten derselben Datei.
Teile sehr große Skripte nach Möglichkeit in logisch getrennte Dateien auf:
01_tables.sql
02_indexes.sql
03_packages.sql
04_grants.sql
05_data_fixes.sql
Eine solche Struktur verbessert nicht nur die Editorleistung, sondern auch Wartbarkeit, Versionsverwaltung und Nachvollziehbarkeit.
19. Startseite und nicht benötigte Fenster schließen
Die Startseite ist im Vergleich zu Benutzerprofil, Erweiterungen oder Java-Konfiguration meist kein entscheidender Leistungsfaktor. Sie kann dennoch geschlossen werden, wenn sie nicht benötigt wird.
Größeren Einfluss haben gewöhnlich dauerhaft geöffnete Fenster wie:
- Reports
- DBA Navigator
- Data Modeler Browser
- Data Miner
- Versioning-Fenster
- Snippets
- umfangreiche Logansichten
- große Ergebnistabellen
Die Oberfläche sollte nur jene Bereiche enthalten, die für die aktuelle Aufgabe benötigt werden.
Empfohlene Grundkonfiguration
Für eine typische SQL- und PL/SQL-Entwicklungsumgebung eignet sich folgende Ausgangskonfiguration:
| Einstellung | Empfehlung |
| SQL-Developer-Version | Aktuelle stabile Version |
| Java | Von Oracle unterstütztes JDK |
| Automatische Update-Prüfung | Beim Start deaktiviert |
| SQL History Limit | 500 bis 2.000 |
| Completion Insight | Manuell mit Ctrl + Leertaste |
| Semantic Analysis | Aktiv, bei Editorproblemen deaktivieren |
| Worksheet beim Verbindungsaufbau | Nur bei Bedarf |
| Unshared Connection je Worksheet | Nur bei fachlicher Notwendigkeit |
| Offene Ergebnistabs | Regelmäßig schließen |
| Java Heap | Zunächst Standard, bei Bedarf 2 bis 4 GB testen |
| Benutzerprofil | Lokal und regelmäßig bereinigt |
| Große Ergebnismengen | Bereits in SQL begrenzen |
Empfohlene Reihenfolge bei akuten Problemen
SQL Developer startet langsam
- Automatische Update-Prüfung deaktivieren.
- Nicht benötigte Features deaktivieren.
- Erweiterungscache leeren.
- Java-Pfad in
product.confprüfen. - Mit einem frischen Benutzerprofil testen.
- Aktuelle Version sauber in neuem Verzeichnis installieren.
Editor reagiert langsam
- Nicht benötigte Tabs schließen.
- Completion Insight auf manuellen Aufruf umstellen.
- Semantische Analyse testweise deaktivieren.
- Große Skripte aufteilen.
- Lokale Dateihistorie reduzieren.
- Speicherverbrauch prüfen.
Ergebnisraster reagiert langsam
- Zeilenmenge in der Abfrage begrenzen.
- Nicht benötigte Spalten entfernen.
- Große LOB-Spalten vermeiden.
- SQL Array Fetch Size schrittweise testen.
- Alte Ergebnisraster schließen.
- Java Heap nur bei nachgewiesenem Bedarf erhöhen.
Einzelne Abfrage läuft langsam
- Dieselbe Abfrage in SQLcl oder SQL*Plus testen.
- Ausführungsplan analysieren.
- Laufzeitinformationen und Warteereignisse prüfen.
- Datenmenge reduzieren.
- Indizes und Statistiken kontrollieren.
- Blockierende Sessions ausschließen.
Häufige Fehler bei der Optimierung
Wahllos mehr RAM zuweisen
Mehr Arbeitsspeicher ist keine Lösung für schlechte SQL-Ausführungspläne, Netzwerkprobleme oder blockierte Datenbanksitzungen.
Alle Features deaktivieren
Nicht benötigte Features können deaktiviert werden. Kernfunktionen oder tatsächlich verwendete Werkzeuge sollten jedoch aktiviert bleiben.
SQL-Historie als dauerhaftes Archiv verwenden
Die Historie ist eine Komfortfunktion und kein Ersatz für gespeicherte SQL-Dateien oder eine Versionsverwaltung.
Alte Installation überschreiben
Eine neue SQL-Developer-Version sollte in ein separates Verzeichnis entpackt werden. Oracle warnt ausdrücklich davor, einen bestehenden sqldeveloper-Ordner einfach zu überschreiben.
Semantische Analyse für langsame Datenbankabfragen verantwortlich machen
Die semantische Analyse betrifft den Editor. Die Laufzeit der SQL-Anweisung wird hauptsächlich durch Datenbank, Ausführungsplan, Datenmenge und Netzwerk bestimmt.
Große Ergebnismengen vollständig laden
Eine Abfrage muss nicht Millionen Zeilen in das Ergebnisraster übertragen, nur um ihre grundsätzliche Funktion zu prüfen.
Häufige Fragen
Warum startet SQL Developer so langsam?
Häufige Ursachen sind automatische Update-Prüfungen, viele aktive Features, ein umfangreiches Benutzerprofil, eine falsche Java-Konfiguration oder ein langsamer Speicherort für Profildaten.
Wie viel RAM sollte SQL Developer erhalten?
Für normale SQL- und PL/SQL-Arbeit reicht die Standardkonfiguration häufig aus. Bei vielen offenen Tabs, großen Exporten oder Data-Modeler-Projekten können zwei bis vier Gigabyte Java Heap getestet werden.
Macht mehr RAM SQL-Abfragen schneller?
Normalerweise nicht. Die SQL-Anweisung wird von der Oracle-Datenbank ausgeführt. Mehr Client-Speicher kann lediglich bei großen Ergebnismengen, Exporten oder komplexen SQL-Developer-Funktionen helfen.
Sollte Completion Insight deaktiviert werden?
Bei Verzögerungen während des Schreibens ist das sinnvoll. Die automatische Anzeige kann deaktiviert werden, während die manuelle Codevervollständigung mit Ctrl + Leertaste erhalten bleibt.
Sollte die semantische Analyse deaktiviert werden?
Nur wenn der Editor bei großen SQL- oder PL/SQL-Dateien spürbar langsam reagiert. Die Funktion liefert hilfreiche Warnungen und sollte nicht ohne konkreten Grund deaktiviert werden.
Wie groß sollte die SQL-Historie sein?
Für die meisten Nutzer reichen 500 bis 2.000 Einträge. Wichtige Abfragen sollten unabhängig davon als SQL-Datei gespeichert werden.
Kann das Benutzerprofil SQL Developer verlangsamen?
Ja. SQL Developer speichert dort Einstellungen, SQL-Historie, Snippets, Vorlagen und weitere Zustände. Ein Test mit einem neuen Profil ist eine der zuverlässigsten Methoden zur Eingrenzung von Clientproblemen.
Warum ist nur das Öffnen von Tabellen langsam?
Beim Öffnen eines Datenbankobjekts werden Metadaten von der Datenbank abgefragt. Langsame Verbindungen, sehr große Schemas, hohe Datenbanklast oder Netzwerkprobleme können diesen Vorgang verzögern.
Warum friert SQL Developer bei SELECT-Abfragen ein?
Häufig wird eine zu große Ergebnismenge geladen oder dargestellt. Begrenze die Zeilen bereits in der SQL-Anweisung und schließe nicht mehr benötigte Ergebnisraster.
Fazit
SQL Developer wird nicht durch eine einzelne universelle Einstellung schneller. Zuerst muss unterschieden werden, ob der Programmstart, der Editor, die Verbindung, die Datenbankabfrage oder die Ergebnisdarstellung langsam ist.
Für einen langsamen Start sind vor allem Update-Prüfung, Erweiterungen, Java-Konfiguration und Benutzerprofil relevant. Bei einem trägen Editor helfen eine kleinere SQL-Historie, weniger offene Tabs und reduzierte automatische Codeanalysen. Bei langsamen Abfragen müssen dagegen Ausführungsplan, Datenbanklast, Sperren, Netzwerk und Datenmenge untersucht werden.
Die wirksamste Reihenfolge lautet:
- aktuelle Version sauber installieren,
- unterstütztes JDK verwenden,
- automatische Update-Prüfung deaktivieren,
- nicht benötigte Features reduzieren,
- SQL-Historie und Completion Insight begrenzen,
- frisches Benutzerprofil testen,
- langsame SQL-Anweisungen unabhängig vom Client analysieren.
Damit wird nicht nur SQL Developer schneller. Gleichzeitig wird klar erkennbar, ob das eigentliche Problem im Client, im Netzwerk oder in der Oracle-Datenbank liegt.
Nutze auch die vielen anderen Beiträge über SQL und Datenbanken auf diesem Blog für viele weitere Tipps und Tricks zum Thema.

Hinweis: Alle Angaben wurden sorgfältig und nach bestem Wissen recherchiert. Für Richtigkeit, Vollständigkeit und Aktualität wird keine Gewähr übernommen. Termine, Preise, Leistungen, Teilnahmebedingungen, Öffnungszeiten, Verfügbarkeiten, gesetzliche Regelungen und sonstige Rahmenbedingungen können sich jederzeit kurzfristig ändern. Dieser Beitrag stellt keine individuelle Rechts-, Finanz-, Steuer-, Gesundheits- oder sonstige Fachberatung dar. Änderungen sind jederzeit möglich; maßgeblich sind die aktuellen Angaben des jeweiligen Anbieters oder Veranstalters. Eine Haftung wird ausgeschlossen.