Seit 7.3 gibt's auch das geniale Feature: Temporal Table.
Ist im Prinzip ähnlich wie mit der Trigger Lösung, nur dass es genau für diesen Zweck eine eigene Technik in der DB2 gibt.
Das schöne ist, man kann damit auch die bestehenden Verwaltungsbildschirm-Programme verwenden um den Stand zu einem bestimmten Zeitpunkt sehen zu können.
Beispiel:
Gibt es ein Bildschirmprogramm um Rechnungsinformationen anzeigen zu lassen, braucht man nur vor dem Aufruf von diesem Programm, mit einer SQL Prozedur das gewünschte Datum angeben und dann werden voll automatisch mir am Bildschirm die Rechnungsinformationen vom angegebenen Zeitpunkt angezeigt.
Funktioniert auch mit Native-IO Programme (hab's selbst getestet).
Es müssen die Tabellen nur via ALTER TABLE um ein paar Spalten erweitert werden.
Wenn man diese als Hidden definiert, muss man bei den Programmen nichts weiter machen als sie einfach nur neu kompilieren und fertig.

Die Suche nach dem Ursacher geht dann sehr schnell und einfach. Und für die Anzeige kann man sogar die bestehenden Programme verwenden, was super ist, wenn es sich um Tabellen handeln die in Abhängigkeit stehen und es nicht nur eine einzige ist.
Da kann ich auch soweit zurück in die Vergangenheit wie ich möchte.