29.12.2013 Aufrufe

Fehlerbehebung und Optimieren der Datenbankleistung

Fehlerbehebung und Optimieren der Datenbankleistung

Fehlerbehebung und Optimieren der Datenbankleistung

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.

Neuer<br />

Konsistenzzustand<br />

Eine UOW<br />

ZEITLINIE<br />

Datenbankaktualisierungen<br />

Anfang <strong>der</strong><br />

UOW<br />

Commit<br />

Ende <strong>der</strong> UOW<br />

Abbildung 21. UOW mit einer COMMIT-Anweisung<br />

Konsistenzzustand<br />

Konsistenzzustand<br />

Neuer<br />

Konsistenzzustand<br />

Eine UOW<br />

ZEITLINIE<br />

Datenbankaktualisierungen<br />

Aktualisierungen<br />

zurücksetzen<br />

Anfang <strong>der</strong><br />

UOW<br />

Fehler;<br />

Beginn des<br />

Rollbacks<br />

Daten werden auf den<br />

Anfangsstatus zurückgesetzt;<br />

Ende <strong>der</strong> UOW<br />

Abbildung 22. UOW mit einer ROLLBACK-Anweisung<br />

Aspekte des gemeinsamen Zugriffs<br />

Da viele Benutzer auf Daten in einer relationalen Datenbank zugreifen <strong>und</strong> sie än<strong>der</strong>n,<br />

muss <strong>der</strong> Datenbankmanager einerseits Benutzern diese Än<strong>der</strong>ungen ermöglichen<br />

<strong>und</strong> an<strong>der</strong>erseits sicherstellen, dass die Datenintegrität erhalten bleibt.<br />

Der Begriff gemeinsamer Zugriff bezeichnet die Möglichkeit, dass mehrere interaktive<br />

Benutzer o<strong>der</strong> Anwendungsprogramme die Ressourcen zur gleichen Zeit verwenden<br />

können. Der Datenbankmanager steuert diesen Zugriff, um unerwünschte<br />

Folgen zu vermeiden. Solche Folgen könnten zum Beispiel sein:<br />

v<br />

v<br />

v<br />

Verlorene Aktualisierungen. Zwei Anwendungen A <strong>und</strong> B lesen zum Beispiel<br />

dieselbe Zeile <strong>und</strong> berechnen aufgr<strong>und</strong> <strong>der</strong> Daten, die von den Anwendungen<br />

gelesen werden, neue Werte für eine <strong>der</strong> Spalten. Wenn die Anwendung A die<br />

Zeile aktualisiert <strong>und</strong> anschließend B die Zeile ebenfalls aktualisiert, geht die<br />

von A durchgeführte Aktualisierung verloren.<br />

Zugriff auf nicht festgeschriebene Daten. Anwendung A könnte einen Wert in<br />

<strong>der</strong> Datenbank aktualisieren, den Anwendung B liest, bevor er festgeschrieben<br />

wurde. Wenn dann A diese Aktualisierung rückgängig macht, basieren die von B<br />

ausgeführten Berechnungen vielleicht auf ungültigen Daten.<br />

Nichtwie<strong>der</strong>holbare Lesevorgänge. Anwendung A liest zum Beispiel eine Zeile,<br />

bevor sie an<strong>der</strong>e Anfor<strong>der</strong>ungen verarbeitet. In <strong>der</strong> Zwischenzeit än<strong>der</strong>t o<strong>der</strong><br />

174 <strong>Fehlerbehebung</strong> <strong>und</strong> <strong>Optimieren</strong> <strong>der</strong> <strong>Datenbankleistung</strong>

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!