content

Transaction

Definition

In Oracle (und allgemein in Datenbanksystemen) bezeichnet man als Transaktion eine logische Einheit, die aus einer oder mehreren SQL-Anweisungen besteht und atomar ausgeführt wird.

Eine Transaktion beginnt mit dem ersten DML (data manipulation language) Statement.

DML:

  • DELETE

  • UPDATE

  • INSERT

Jede Transaktion bekommt eine eindeutige TRANSACTION_ID (Beispiel A57987).

001.png

Das bedeutet:

  • Entweder werden alle Änderungen erfolgreich durchgeführt (COMMIT)

  • oder keine Änderung wird dauerhaft übernommen (ROLLBACK).

READ COMMITED

Oracle arbeitet standardmäßig mit dem Isolation Level READ COMMITTED. Das heißt:

  • Änderungen einer Transaktion sind nur für diesen Benutzer (Session) sichtbar, solange sie nicht per COMMIT bestätigt wurden.

  • Andere Sessions sehen die alten Daten (aus dem „Undo-Segment“) – erst nach COMMIT sehen sie die neuen Werte.

  • Macht man ein ROLLBACK, dann sieht niemand außer der Session selbst jemals die Änderungen.

002.png