Veröffentlicht 07. November 2023
Aktualisiert Oktober 2025
Einleitung
Mit KeepTool 16 führen wir eine leistungsstarke Erweiterung ein: die Unterstützung von Oracle Bulk-Insert-Skripten.
Während die Möglichkeit, INSERT-Skripte aus Daten in Hora zu erzeugen, schon lange geschätzt wird, geht die neue Version noch einen Schritt weiter – sie optimiert die Performance bei großen Datenmengen erheblich.
Werfen wir zunächst einen Blick auf das Verhalten in Hora 15, bevor wir uns den Neuerungen in Version 16 widmen.
Rückblick: INSERT-Skripte in Hora 15
Nehmen wir an, Sie sind mit dem Oracle-Demo-Schema HR verbunden und betrachten die Tabelle JOB_HISTORY.
Ein Rechtsklick auf das Datenraster und die Auswahl von „Create INSERT script“ genügt, um ein Skript zu erzeugen.

Menüpunkt „Create INSERT Script“ in Horas Data Content
Anschließend können Sie wählen:
Hora erzeugt daraufhin ein klassisches INSERT-Skript.
Dieses beginnt mit SQL*Plus-Voreinstellungen, enthält auskommentierte Anweisungen zum (optionalen) Deaktivieren von Triggern oder Fremdschlüsselprüfungen, erstellt anschließend eine INSERT-Anweisung pro Datensatz und schließt mit einem COMMIT ab.

Der SQL Editor zeigt einen von Hora erzeugten klassischen INSERT Skript
Diese Methode funktioniert zuverlässig bei kleineren bis mittleren Datenmengen – wird aber bei großen Volumina schnell unhandlich oder langsam.
Neu in Hora / KeepTool 16
Mit Version 16 wurden mehrere wichtige Verbesserungen eingeführt:
-
Bulk-Insert-Option: Mehrere Datensätze können zu einer einzigen INSERT-Anweisung zusammengefasst werden – für spürbar schnellere Ausführung.
-
Direct Path Inserts: Optional lassen sich Skripte mit Oracle-Hinweisen für Direct-Path-Inserts erzeugen, um noch höhere Ladegeschwindigkeit zu erreichen.
-
Skript-Aufteilung: Große Skripte können automatisch in kleinere Dateien unterteilt werden – das erleichtert Bearbeitung und Wartung.
Alle Optionen sind bequem über den Reiter Data Content in den Einstellungen konfigurierbar.
Bulk Inserts mit INSERT ALL
Zur Unterstützung von Masseneinfügungen nutzt KeepTool das Oracle-Konstrukt INSERT ALL.
Im Einstellungsdialog legen Sie eine Bulkgröße fest, also die Anzahl der Datensätze pro INSERT ALL-Anweisung.

Data Content – Option Insert script bulk size
Wird die Bulkgröße auf 1 gesetzt, verhält sich Hora wie bisher – jede Zeile ergibt ein eigenes INSERT.
Im Beispiel mit Bulkgröße = 3 erzeugt Hora hingegen:

Ab Oracle 23c optimiert Hora zusätzlich – z. B. durch Weglassen redundanter Spaltenlisten und der SELECT 1 FROM DUAL-Klausel, wenn zulässig.

Zwar garantiert Bulk-Inserting nicht in allen Fällen höhere Geschwindigkeit, doch Praxistests zeigen deutliche Performancevorteile gegenüber Einzelinserts.
Direct Path Inserts
For further speed improvement, direct-path inserts are supported. These bypass some conventional SQL processing, but they come with trade-offs. Use this option with caution.
If enabled:
-
An APPEND_VALUES hint is added (for 11g+; older versions use APPEND).
-
Each INSERT is followed by a COMMIT, to ensure parallel operations complete correctly.

Data Content – Direct Path INSERT (/*+append*/)

Erzeugtes direct path INSERT
Aufteilen großer Skripte
Bei sehr großen Datenmengen können INSERT-Skripte schnell mehrere hundert Megabyte groß werden.
Damit diese weiterhin handhabbar bleiben, erlaubt Hora 16 nun eine automatische Aufteilung in Teilskripte – abhängig von einer frei definierbaren Maximalgröße.

INSERT Skript wurde in 3 Dateien aufgeteilt
Ein Richtwert von 50 MB hat sich für die Arbeit im integrierten SQL-Editor bewährt.
Übersicht der neuen Optionen
Unter Extras → Settings → Data Content finden Sie nun folgende Einstellungen:
-
Split Insert Scripts every MBytes – Startet eine neue Datei, sobald die Größe erreicht ist
-
Insert script bulk size – Anzahl der Zeilen pro INSERT ALL
-
Single-line Insert – Spalten- und Werteangaben in einer Zeile (bei Einzelinserts)
-
Direct path Inserts – Aktiviert APPEND-Hinweise und COMMIT-Verhalten
-
Use timestamp literals for DATE columns – Unabhängig von NLS-Einstellungen
-
Escape non-ASCII literals – Korrekte Kodierung von Sonderzeichen

Zusammenfassung der Optionen für INSERT-Skripts
Fazit
Die Verbesserungen in Hora 16 – insbesondere Bulk Inserts, Direct Path Inserts und die automatische Skriptaufteilung – beschleunigen das Erstellen und Ausführen großer Dateneinfügeskripte erheblich.
Wer regelmäßig mit umfangreichen Datensätzen arbeitet, profitiert von spürbar kürzeren Laufzeiten und besserer Handhabbarkeit der generierten Skripte.
Ergänzung
Ab Version 16.1.0 steht zusätzlich ein modaler Vorschau-Dialog zur Verfügung, mit dem Sie INSERT-Skriptoptionen vor der Generierung anpassen und als Standard speichern können.

Dialog mit Vorschau der INSERT-Skript-Optionen
Die aktuell gewählten Einstellungen können als Standard gespeichert werden.
➡️ KeepTool kostenlos testen
Die Oracle-Tools von KeepTool wurden speziell für Entwickler, DBAs und Support-Teams entwickelt.
Basierend auf über 25 Jahren Erfahrung optimieren wir unsere Software kontinuierlich, um Ihre Datenbankanalyse und -dokumentation schneller, effizienter und übersichtlicher zu gestalten.