Direct Path Loads sind für große Datenmengen attraktiv, weil sie Ladeprozesse effizient anlegen können. In früheren Betriebsmodellen war ein wichtiger Einschränkungspunkt: Vor dem Commit waren Abfragen und weitere DMLs auf der geladenen Tabelle nicht in allen Situationen möglich. Oracle AI Database 26ai erweitert dieses Verhalten mit Unrestricted Direct Loads.
1. Was sich im Ladeablauf ändert
Nach einem Direct Load kann die Ladesession dieselbe Tabelle abfragen und zusätzliche DML ausführen, bevor die Transaktion abgeschlossen ist. Auch andere Sessions können – abhängig vom konkreten Ladeverfahren und den normalen Konsistenzregeln – parallel mit der Tabelle arbeiten. Zusätzlich wird ein Rollback zu einem Savepoint unterstützt.
Das eröffnet neue Muster für Data-Warehouse- und Batch-Prozesse: Ein Ladevorgang kann Daten prüfen, Fehler markieren oder nachgelagerte Anpassungen in derselben Transaktionslogik vornehmen. Die Anwendung sollte aber klar unterscheiden, welche Daten bereits geladen, welche geprüft und welche fachlich freigegeben sind.
2. Sichtbarkeit und Konsistenz bewusst testen
Mehr Flexibilität bedeutet nicht, dass jede Session automatisch denselben Datenstand sieht. Isolation, Commit-Zeitpunkt, parallele Änderungen und die konkrete Direct-Load-Technik bestimmen weiterhin das beobachtbare Verhalten. Tests sollten deshalb nicht nur den erfolgreichen Endstand prüfen, sondern auch Zwischenstände und konkurrierende Zugriffe.
Definieren Sie für jeden Batch, ob Zwischenstände lesbar sein dürfen. Wenn Reports nur vollständig freigegebene Daten verwenden sollen, braucht es weiterhin einen Statusmechanismus, eine Staging-Tabelle oder eine klare Commit-Grenze. Die neue Funktion sollte nicht versehentlich halbfertige Daten als produktiv erscheinen lassen.
3. Savepoints und Fehlerbehandlung
Savepoints können helfen, einen Teil der Arbeit zurückzunehmen, ohne den gesamten Ladevorgang zu verwerfen. Das ist nützlich, wenn eine nachgelagerte Prüfung nur einen begrenzten Abschnitt betrifft. Vor dem Einsatz muss jedoch feststehen, welche Nebenwirkungen durch Trigger, autonome Transaktionen, externe Nachrichten oder bereits verarbeitete Dateien entstanden sind.
Ein Rollback zu einem Savepoint ist kein Ersatz für ein idempotentes Batch-Design. Bei einem Neustart muss der Prozess erkennen können, welche Daten bereits übernommen wurden und welche Schritte erneut ausgeführt werden dürfen. Batch-ID, Quell-Datei, Ladeabschnitt und Prüfsumme gehören deshalb in die technische Nachverfolgung.
4. Ressourcen und Betriebsüberwachung
Während des Direct Loads sollten DBAs CPU, I/O, Redo, Temp-Space, Locks und Laufzeit beobachten. Zusätzliche Abfragen oder DMLs auf derselben Tabelle können den ursprünglichen Ladeplan verändern. Bei großen Tabellen ist außerdem zu prüfen, ob nachgelagerte Indexpflege, Statistiken und Partitionierungsarbeiten mit dem neuen Ablauf konkurrieren.
Ein gutes Monitoring zeigt nicht nur „Load erfolgreich“, sondern auch Ladefortschritt, geprüfte Datenmenge, Commit-Status, Fehleranzahl und fachliche Freigabe. So lässt sich unterscheiden, ob eine Tabelle technisch geladen oder bereits sicher für nachgelagerte Verbraucher nutzbar ist.
5. Praktische DBA-Checkliste
- Ladeverfahren, Transaktionsgrenzen, Sichtbarkeit und Commit-Regeln dokumentieren.
- Abfragen und zusätzliche DMLs während und nach dem Direct Load testen.
- Savepoint, Teil-Rollback und Wiederanlauf mit absichtlich fehlerhaften Daten prüfen.
- Parallelzugriffe, Isolation, Locks, Redo und Ressourcenverbrauch messen.
- Batch-ID, Quellstand, Prüfsummen und bereits verarbeitete Abschnitte speichern.
- Fachliche Freigabe und technische Ladefertigkeit im Monitoring getrennt anzeigen.
Fazit
Unrestricted Direct Loads in Oracle AI Database 26ai geben Data-Warehouse- und Batch-Prozessen mehr Spielraum, indem Abfragen und zusätzliche DMLs während des Ladeablaufs möglich werden. Der sichere Nutzen entsteht durch klare Sichtbarkeitsregeln, idempotente Wiederanläufe, getestete Savepoints und ein Monitoring, das technische und fachliche Fertigstellung unterscheidet.
Weiterführend: Oracles Überblick zu Unrestricted Direct Loads, die Neuerungen in Oracle AI Database 26ai und die Hinweise zu Unrestricted Bulk Transactions.