15.09.2014 Aufrufe

2 Analyse von Hardware, Datenbank und ABAP-Applikationsserver

2 Analyse von Hardware, Datenbank und ABAP-Applikationsserver

2 Analyse von Hardware, Datenbank und ABAP-Applikationsserver

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Sperrkonzepte <strong>von</strong> <strong>Datenbank</strong>system <strong>und</strong> SAP-System 9.1<br />

Commits bezeichnet man als <strong>Datenbank</strong>transaktion. Alternativ können<br />

alle ändernden SQL-Anweisungen mit der SQL-Anweisung<br />

ROLLBACK (<strong>Datenbank</strong>-Rollback) zurückgenommen werden. In diesem<br />

Fall werden die gehaltenen <strong>Datenbank</strong>sperren ebenfalls gelöst.<br />

Bestellen eines Computers (Fortsetzung)<br />

Das oben erläuterte Beispiel der Verfügbarkeitsprüfung beim Bestellen<br />

eines Computers mithilfe <strong>von</strong> <strong>Datenbank</strong>sperren realisieren Sie in der Programmierung<br />

mit der SQL-Anweisung SELECT FOR UPDATE: Mit dieser Anweisung<br />

wird gleichzeitig der Bestand einer Komponente gelesen <strong>und</strong> eine<br />

Sperre auf den entsprechenden Bestand gesetzt. Haben Sie diese Prüfung<br />

für alle Komponenten erfolgreich durchgeführt, ändern Sie anschließend<br />

den Bestand (mit einem UPDATE auf die entsprechenden Zeilen) <strong>und</strong> geben<br />

mit einem COMMIT alle Sperren frei. Während eine Sperre besteht, können<br />

andere Benutzer die Daten zwar lesen (ein einfaches SELECT ist möglich),<br />

nicht aber selbst die Zeile sperren. Es kann also weder ein UPDATE noch ein<br />

SELECT FOR UPDATE durchgeführt werden. Eine solche Sperre bezeichnet<br />

man als exklusiv.<br />

Am Ende eines Transaktionsschrittes löst der SAP-Workprozess automatisch<br />

einen <strong>Datenbank</strong>-Commit (oder einen <strong>Datenbank</strong>-Rollback)<br />

aus. Damit werden alle <strong>Datenbank</strong>sperren gelöst. Daraus ergibt sich,<br />

dass <strong>Datenbank</strong>sperren nicht über mehrere Transaktionsschritte<br />

(d. h. im SAP-System über mehrere Eingabebildschirme) hinweg<br />

gehalten werden können.<br />

9.1.2 SAP-Enqueues<br />

Um Sperren über mehrere Schritte einer SAP-Transaktion hinweg zu<br />

halten, verwenden Sie die SAP-eigene Enqueue-Verwaltung. Die SAP-<br />

Enqueues werden vom Enqueue-Workprozess in der Enqueue-<br />

Tabelle verwaltet, die sich im Hauptspeicher befindet. Damit SAP-<br />

Enqueues auch beim Stoppen der SAP-Instanz erhalten bleiben, werden<br />

diese zusätzlich in einer lokalen Datei auf dem Enqueue-Server<br />

gesichert.<br />

Durch einen SAP-Enqueue wird ein logisches Objekt gesperrt. So<br />

können z. B. Zeilen aus mehreren <strong>Datenbank</strong>tabellen gesperrt werden,<br />

die zusammen einen Beleg bilden. Ein SAP-Enqueue kann auch<br />

eine oder mehrere Tabellen sperren. SAP-Enqueue-Objekte werden<br />

im <strong>ABAP</strong> Dictionary (Abschnitt Sperrobjekte) angelegt <strong>und</strong> geändert.<br />

Sie hängen eng mit den Begriffen SAP-Transaktion <strong>und</strong> SAP Logical<br />

SAP-Enqueue-<br />

Objekte<br />

405

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!