Wann erfolgt ein Rollback
- Dieses Thema hat 2 Antworten und 1 Teilnehmer, und wurde zuletzt aktualisiert vor 15 Jahre, 1 Monat von
Anonym.
-
AuthorPosts
-
13. August 2008 um 7:12 Uhr #2864
AnonymInaktivHallo Forum,
Bei welchen SQLCODES macht DB2 automatisch ein Rollback?
Immer bei negativen?
Kann man das steuern?Ich frage, weil ich eine Detailinformation lese und wenn das aus irgendwelchen Gründen nicht klappt, dann setze ich einen Defaultwert.
Diese Detailinformation ist mir aber nicht so wichtig, daß ich die gesamte Transaktion bei einem Fehler abbrechen möchte.Geht das ?
Gruß
Perix
13. August 2008 um 16:09 Uhr #3223
AnonymInaktivHallo Perix
Immer bei negativen?
Nein nur bei einigen negativen SQLCodes wie z.B. -724, -30025, -911 usw. (eventuell auch bei -905, -917). Der bekannteste SQLCode ist sicherlich -911 (Deadlock oder Timeout).
Kann man das steuern?
Teilweise. Zum Beispiel bei CICS Transaktionen anhand des ROLBE und/oder ROLBI Parameter (SQLCODE -911 oder -913).
Geht das ?
Nein, lass die Finger davon! Bei einem automatischen Rollback wird die ganze Unit of Work (will heissen alles seit dem letzten Commit in DB2) zurückgerollt. Deine Transaktion (wie auch das DBMS) sollte/muss die ACID Prinzipien http://en.wikipedia.org/wiki/ACID einhalten. Wenn du nach einem Rollback weiter machst, hast du ziemlich sicher keine Kontrolle mehr darüber ob die Daten welche deine Transaktion bewirtschaftet konsistent sind oder nicht.
Weiter empfehle ich dir Jim Gray zu berücksichtigen: "Fail fast module: A module that either functions correctly or raises an exception and stops until it is repaired. Falilfast behavior is important because latent errors can turn a single fault into a cascade of faults. Mechanisms to deal with rare events should be simple, cheap, and reliable!" (Jim Gray, Transaction Processing: Concepts and Techniques )
Gruss
hke
14. August 2008 um 7:28 Uhr #3462
AnonymInaktivHallo hke,
Danke für Deine Bestätigung.
Ich hatte das so befürchtet, aber auf einen "Griff in die Trickkiste" gehofft. ;DNun ja, dann wird eben die gesamte Transaktion abgebrochen….
Thx
greetz
Perix
-
AuthorPosts
You must be logged in to reply to this topic.