Semester_5 |
---|
01_Transaction |
02_LocalData |
03_Introduction |
04_Function |
05_Exception |
06_Cursor |
07_TriggerPLSQL |
08_BusinessLogic |
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).
Das bedeutet:
Entweder werden alle Änderungen erfolgreich durchgeführt (COMMIT)
oder keine Änderung wird dauerhaft übernommen (ROLLBACK).
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.