Warum ich Clustertabellen nehme? Weil ich "irgendwas" an Daten habe, die zum Protokoll gehören. Ein Datensatz, den ich verbuchen will (und der je nach Buchung mal die eine, mal die andere Struktur hat), Inhalte aus einer Ausnahme, etc. Klar kann ich das alles transient im Speicher halten. Und wenn irgendwas dumpt, sind alle Protokolldaten weg, die ich nicht weggespeichert habe und ich weiß genau nichts. Darum speichere ich jede Meldung einzeln weg, was einen COMMIT bedingt, der aber nicht für meinen (noch nicht komplett durchgebuchten) Geschäftsprozess gilt. Da kommt der COMMIT erst als Letztes. Zusammen mit einer Erfolgsmeldung im Protokoll (oder eben einer Fehlermeldung).ewx hat geschrieben:Was hindert dich denn daran, den { Commit | Rollback } auszuführen und danach die Daten in deine (ich frag lieber nicht, warum du eine) Clustertabelle (nimmst...) zu schreiben?
Natürlich ist das ein Programmierfehler, aber trotzdem möchte ich gern wissen, was zu diesem Programmierfehler geführt hat. Da ist es schon sinnvoll, zu wissen, wie die Datenkonstellation ausgesehen hat (z. B. die Daten, die ich versuche auf die DB zu schreiben oder was auch immer). Bei uns ist es in der Regel (!!!) so, dass wir kaum debuggen oder Fälle nachstellen, sondern ins Protokoll gucken und wissen, was los ist. Gerade bei Hintergrundprogrammen ist das sinnvoll. Ja, für Performancemessungen gibt es andere Möglichkeiten (insofern war das Beispiel schlecht), aber wir schreiben halt (zumindest während der Entwicklungs- und Testphase) so ziemlich jeden Programmzustand ins Log.ewx hat geschrieben:Ich hatte Clustertabellen mit Pooltabelle verwechselt...![]()
Ein Dump ist in der Regel ein Programmierfehler.
Deswegen werden dir m.M.n. die Protokolldaten in den wenigsten Fällen helfen.
Wenn du ansonsten nicht tonnenweise Daten speicherst, eigenen sich auch [urlhttps://www.tricktresor.de/blog/log-points-zur- ... cemessung/]Log-points[/url].
Bei Clustertabellen hast du den Nachteil, dass du immer genau mit den Datenstrukturen zugreifen musst, die auch beim Lesen verwendet wurden. Insofern würde ich diese Lösung präferieren: Serialisierung
Weil ich sie im Projektteam noch diskutieren muss -- mit APC scheint sich einer von uns auszukennen. Scheint recht aufwendig zu sein (so auf den ersten Blick), aber wenn es funktioniert.....ewx hat geschrieben:Wenn das eine nicht geht, dann ist eine andere Herangehensweise angebracht.
Du hast zu den gemachten Lösungsvorschlägen noch keine Stellung genommen.
Natürlich ist das sinnvoll.ralf.wenzel hat geschrieben: Natürlich ist das ein Programmierfehler, aber trotzdem möchte ich gern wissen, was zu diesem Programmierfehler geführt hat. Da ist es schon sinnvoll, zu wissen, wie die Datenkonstellation ausgesehen hat (z. B. die Daten, die ich versuche auf die DB zu schreiben oder was auch immer).
Habe ich gerade nicht zur Hand, weil ich mit meinem Kopf gerade woanders bin, tut mir leid. Fakt ist, dass es ärgerlich ist, wenn bei einem Dump die Protokolldaten weg sind, weil ich keinen Commit machen konnte.ewx hat geschrieben:Nenne mir doch mal bitte ein konkretes Beispiel, bei dem die vorher protokollierten Daten geholfen haben, einen Shortdump zu beheben?
Wie?ralf.wenzel hat geschrieben: Wir haben alles kompakt in der SLG1, ich sehe die Fehlermeldung und unter "Details" die Daten, die zum Fehler geführt haben.
Das ist mir auch aufgefallen, als ich das Beispiel mit AMC aufgebaut habe...Haubi hat geschrieben: Seit einigen Releases hat der BAL_DB_SAVE zwei neue Parameter:
- I_2TH_CONNECTION
- I_2TH_CONNECT_COMMIT
Wenn Du "native German speaker" meinst bin ich dabei...ewx hat geschrieben: Das war wohl übrigens ein native speaker, der das eingebaut hat, mit seinem "2th"...
Secondthewx hat geschrieben:Das war wohl übrigens ein native speaker, der das eingebaut hat, mit seinem "2th"...
Gerade geschehen. APC und AMS scheitern am Relesasestand, der bei uns zu niedrig ist (es gibt eine Reihe von Gründen, warum sich das nicht kurzfristig ändern lässt), ich teste mal das mit der 2. DB-Verbindung (wobei der Tipp von Haubi nicht weiterhilft, weil der nicht bis zum BAL Cluster reicht).ralf.wenzel hat geschrieben:Weil ich sie im Projektteam noch diskutieren muss
Würde es (releasetechnisch) vielleicht mit einer Serialisierung funktionieren?ralf.wenzel hat geschrieben:Nachtrag: EXPORT TO DATABASE geht nicht auf einer zweiten DB-Connection.....