ULT4DB2

DB2 Log für Datenkorrektur, Propagierung und Revision

Relationale DBMS haben ein Transaktionslog um im Fehlerfall Daten wiederherstellen zu können. Dieses Log kann auch für andere Zwecke genutzt werden. Denken Sie dabei an die Korrektur von Fehleingaben, die Propagierung von Änderungen oder an Anforderungen für die Datenrevision. Die Logdaten zeigen zum Beispiel, welches Programm oder welcher Benutzer Daten geändert hat, wann dies war und in welcher Reihenfolge. Dies ermöglicht die regelmäßige Durchsicht von Datenänderungen. Im Falle von unerwünschten Datenänderungen ist es damit möglich Korrekturen zu machen, in dem mit Hilfe des Log Korrekturstatements erzeugt werden. Das ist oftmals einfacher als Daten von einer Sicherung wiederherzustellen, da hierbei auch alle anderen Änderungen verloren gehen würden. Außerdem können, falls Objekte versehentlich gelöscht wurden, diese mit den Informationen aus dem Log wiederhergestellt und gefüllt werden.

Eine andere gebräuchliche Nutzung für das Log ist die Weitergabe von Datenänderungen an andere Anwendungen, zum Beispiel an ein Data-Warehouse. Zudem ist das Propagieren der Daten mittels Log im Vergleich zu anderen Methoden sehr effizient im Hinblick auf CPU und Speicherverbrauch!

Kurz gesagt ist das Log vielseitig einsetzbar. Dabei waren in der Vergangenheit Loganalyseprogramme sehr teuer und schwer zu handhaben. Dies ändert sich jetzt mit ULT4DB2. Mit der überarbeiteten Benutzeroberfläche ist die aktuelle Version ein Beispiel für Benutzerfreundlichkeit und erlaubt es, neue Loganalyseaufgaben schnell und intuitiv zu erfüllen. ULT4DB2 ist ein DB2-Werkzeug zur Analyse von Log Datasets und erweist sich als ein äußerst nützliches Tool zur Feststellung von Änderungen (Inserts, Updates, Deletes) an Produktionstabellen.

Die Vorteile im Überblick:

  • Log Analyse zur Feststellung von Änderungen an Tabellen zum Kopieren von Delta-Daten, Datenpropagierung – Aktualisierung SQL-fähiger Zielsysteme
  • Redo-SQL – Einrichtung und Unterstützung zur Wiederherstellung von Daten
  • Revision – Nachweis von Änderungen, Auditing, Erstellung von Reports, Berichten zur Änderungsverfolgung aufgrund von Abhängigkeiten, Vorlagen von Auswertungen (templates)
  • Datenkorrektur – Generierung von UNDO / REDO SQL-Statements, Forward- und Backward-Recovery unterstützen und erleichtern, Übersicht der geänderten Objekte, Undrop
  • Berichte: Quiet time, Rollback, Long Runners, Tätigkeitsberichte (nach Plan, User, Objekt)
  • einfache Handhabung, geringer CPU-Verbrauch, flexible und günstige Lizenzmodelle.

Datenkorrektur – Was tun, wenn’s brennt? 

Angenommen, unerwünschte Datenänderungen wurden vorgenommen und müssen nun schnellstens wieder rückgängig gemacht werden. Doch wie? Gut, wenn man den Feuerlöscher schon im Hause hat.

Durch das Einspielen einer Sicherung würden auch alle anderen Änderungen, die zur gleichen Zeit gemacht wurden, verloren gehen. Was man bräuchte wäre ein Werkzeug, das gezielt die unerwünschten Änderungen aus dem Log herausfiltern kann – genau das macht ULT4DB2.

Die DB2 Logdaten zeigen zum Beispiel, welches Programm oder welcher Benutzer Daten geändert hat, wann dies war und in welcher Reihenfolge. ULT4DB2 filtert diese Informationen aus dem Log heraus und generiert die nötigen UNDO SQL-Statements, um die Änderungen gezielt rückgängig zu machen. ULT4DB2 ist dabei noch nahezu intuitiv einsetzbar, denn wer hat schon Zeit lange Handbücher zu lesen, wenn es brennt. Auch ein Undrop einer versehentlich gelöschten Tabelle wird von ULT4DB2 unterstützt.

Das Log ist vielseitig einsetzbar, so lassen sich mit ULT4DB2 ebenso Datenänderungen an andere Anwendungen, bspw. an ein Data-Warehouse propagieren oder Berichte der Datenänderungen erstellen: “Wer hat was, wann geändert?“.

Log-Analyse / Auditing
ULT4DB2 ist ein leistungsstarkes Log-Analyse-Werkzeug, das beim Auditing, der Weiterleitung und der Korrektur von Datenänderungen hilft. Es vereinfacht alle denkbaren Aufgaben in Verbindung mit dem DB2 Log. Seine umfangreichen Automatisierungsfunktionen und die benutzerfreundliche ISPF-Bedienoberfläche erlauben sofortige Audits genauso wie die generelle Rezession von bestimmten Zeiträumen.

Korrektur
Die meisten Anwendungssysteme sind vernetzt. Oft werden Datensätze nach einer Änderung in andere System weitergeleitet und dort weiter modifiziert. Somit ist es nahezu unmöglich herkömmliche Recovery-Funktionen, basierend auf Imagecopies, anzuwenden. In anderen Worten ist es nicht möglich betroffene Tabellen auf einen bestimmten Zeitpunkt zurück zu setzen, da nachfolgende Systeme dann nicht mehr konsistent wären. ULT4DB2 kann SQL-Statements erzeugen, die bestimmte Änderungen, die zu einem gegebenen Zeitpunkt gemacht wurden, zurück nehmen. Dabei hilft das Filtern nach verschiedenen Kriterien den Korrekturprozess zu kontrollieren.

Auditing
Unternehmen möchten Änderungen an sensiblen Daten nachverfolgen – wer machte Änderungen an einer Tabelle, wann waren diese Änderungen und was genau wurde geändert. Das DB2 Log enthält all diese Informationen jedoch an verschiedenen Orten. ULT4DB2 hilft dabei die Informationen zusammenzutragen und Auditing-Tabellen mit den benötigten Informationen zu füllen. Alle Änderungen können über einen bestimmten Zeitraum analysiert werden und dann nach Benutzername, Plan, Spalteninhalt oder anderen Kriterien gefiltert werden. Existieren bereits Auditing-Tabellen, kann ULT4DB2 seine Ausgaben an die bestehenden Strukturen anpassen.

Quiet-Points
Quiesce-Points sind gute Zielkandidaten für Recovery-Prozesse. In geschäftigen Umgebungen ist es jedoch normalerweise nicht möglich präventiv Quiesce-Points zu erstellen. Auch ein erfolgloser Versuch einen Quiesce-Point zu erstellen hat Auswirkungen auf die Verfügbarkeit. Infolgedessen kann die Wiederherstellung auf einen bestimmten Zeitpunkt zur Herausforderung werden. ULT4DB2 durchsucht das Log nach Quiet-Points auf basis von Unit-of-Recovery (UR) oder Logical-Unit-of-Work (LUW), entsprechend der jeweiligen Anforderung. Sie können einfach zu einem Quiet-Point, den ULT4DB2 gefunden hat, recovern und dann den CHECK-Pending-Status mit Hilfe des REPAIR-Utilities zurücksetzen.

Undrop
Das versehentliche Löschen eines Objektes in einer Produktionsumgebung kann schwerwiegende Konsequenzen haben und zu langen Ausfallzeiten führen. Das Wiederherstellen gelöschter Objekte zu einem Stand vor dem DROP ist normalerweise ein fehleranfälliger und langwieriger Prozess. Er benötigt eine Menge Ressourcen auf dem Mainframe und bedeutet einen erheblichen Mehraufwand für DBAs.
ULT4DB2 hat die Fähigkeit versehentlich gelöschte Objekte zurück zu holen. Basierend auf den Informationen im DB2 Log und einer Imagecopy kann ULT4DB2 Objekte wieder anlegen und mit den Daten füllen, die direkt vor dem DROP enthalten waren. Sie können einen bestimmen Zeitraum nach Drop-Operationen durchsuchen und die Objekte in der einfach zu bedienen ISPF-Bedienoberfläche zur Wiederherstellung selektieren.
Der gesamte Prozess ist automatisiert und bedarf keiner manuellen Anpassungen. ULT4DB2 kann Datenbanken, Tablespaces, Tabellen und Indices wiederherstellen. Alle Views, Synonyme, Datenbankberechtigungen, Tabellenberechtigungen, Fremdschlüssel und Check-Constraints werden ebenfalls wiederhergestellt.
ULT4DB2 kann auch BIND-Statements generieren für Pläne und Packages, die durch den DROP ungültig wurden.
ULT4DB2 kann Objekte wiederherstellen ohne den DB2-Katalog zurücksetzen zu müssen. Dies bedeutet dass alle anderen Objekte von der Wiederherstellung nicht betroffen sind.

Rollback-Reports
Der ULT4DB2-Rollback-Report listet alle Rollbacks auf, die im Analysezeitraum stattfanden, sortiert nach der Anzahl der UNDO-Compensation-Sätzen und zeigt den prozentualen Anteil der UNDOs.

Long-Running-Job-Report
Dieser Report identifiziert potentiell abgebrochene Jobs und Transaktionen mit einer geringen Commit-Frequenz. Filtern kann man diese Daten nach der Anzahl der Log-Sätze, nach der Ausführungszeit, nach der Anzahl der DB2-Checkpoints und nach der Anzahl der geänderten Datensätze.

Datenpropagierung
Halten sie Tabellen synchron mit ULT4DB2’s Datenpropagierungsfunktion. ULT4DB2 kann direkt die selben INSERTs, UPDATEs und DELETEs, die in der Quelle ausgeführt wurden, auch auf Zieltabellen ausführen. Alternativ kann ULT4DB2 auch SQL-Statements zur Prüfung oder für eine spätere Ausführung erzeugen. Liegen ihre Zieltabellen in einem anderen Datenbanksystem oder einer anderen Plattform wie Oracle, SQL Server oder anderen DBMS, dann können sie die Syntax der generierten SQL-Statements entsprechend anpassen. Anders als bei anderen Datenpropagierungswerkzeugen erhöht dies nicht die Last auf dem Quellsystem, da ULT4DB2 einfach alle Daten aus dem DB2 Log liest. Dies spart eine erhebliche Menge CPU-Zeit. Des Weiteren kann die Ausführung von ULT4DB2 vom Benutzer kontrolliert werden und auf wenig ausgelastete Zeiten gelegt werden. Somit können höhere Kosten aufgrund von hohen Auslastungen vermieden werden.

Automation
ULT4DB2 präsentiert sich dem Benutzer als eine freundliche ISPF-Oberfläche mit einfach zu bedienenden Bildschirmen und einer breiten Benutzerführung. Die ISPF-Oberfläche unterstützt den Benutzer beim Anlegen von Korrektur-, Auditing-, Propagation- und Undrop-Tasks. Dabei helfen Automatisierungs- und Unterstützungsfunktionen wie das Holen von DB2-Katalog und Log-Informationen, das Erstellen von robusten und wieder ausführbaren Jobs, das Auflisten der Jobs in entsprechender Reihenfolge, die Synchronisation von Quell- und Zieltabellen (falls erforderlich), die Historie der ausgeführten Tasks und mehr. Um einen kompletten Datenpropagierungsprozess zu erstellen genügt es eine einfache Jobkette zu definieren und auszuführen.

Einfache Bedienung
ULT4DB2 erkennt ob mit einem DB2-Datasharing-System gearbeitet wird, oder einem Single-DB2. Es liest die benötigten Tabellenstrukturen und kennt die DB2 Logdateien. ULT4DB2 hat auch einen effizienten und flexiblen Wiederanlaufmechanismus um im Fehlerfall die Kosten niedrig zu halten. Die Ausgaben für verschiedene Tabellen, Tablespaces oder Datenbanken können basierend auf Templates in verschiedene Dateien geschrieben werden. Optional können SQL-Statements direkt ausgeführt werden, ohne Dateien zu schreiben, wenn das Ziel auch ein DB2 für z/OS ist.
Wenn sie DB2-Tabellen benutzen um Daten zu speichern, enthalten diese manchmal Binärdaten, auch wenn der DB2-Katalog etwas anderes sagt. ULT4DB2 erlaubt das Überschreiben von Kataloginformationen pro Tabellenspalte und erlaubt es somit auch solch unhandlichen Daten zu verarbeiten.
Eine Datenänderung in der Quelle kann über einen TRIGGER zusätzliche Änderungen auslösen, die auch bei der Datenpropagierung berücksichtigt werden müssen. Existieren diese Trigger nicht im Ziel, kann ULT4DB2 die entsprechenden SQL-Statements dazu generieren um die selben Änderungen auch im Ziel auszuführen.

Auf welche Herausforderungen passt ULT4DB2?
In den meisten Unternehmen werden verschiedene Plattformen benutzt und Anwendungen sind miteinander verbunden. Daten werden geändert und kurz danach an andere Abteilungen oder Partner weitergegeben. Fehlerhafte Änderungen werden meist erst bemerkt, wenn die Daten bereits an anderer Stelle benutzt werden. Deshalb scheiden hier Standardwiederherstellungsprozesse aus und es müssen spezifische Korrekturen erstellt werden. ULT4DB2 isoliert schnell unerwünschte Änderungen und erzeugt UNDO-SQL-Statements um diese zurückzunehmen oder Es erzeugt REDO-SQL-Statements um gemachte Änderungen an andere Tabellen weiterzugeben. ULT4DB2 erlaubt kritische Daten schnell wiederherzustellen. Diese Fähigkeiten vor langen Ausfällen zu bewahren können eine Menge Geld für die betroffenen Unternehmen bedeuten.
Datenpropagierung wird mit ULT4DB2 erschwinglich. Die immensen CPU-Kosten in der Produktion, die andere Programme benötigen, werden mit ULT4DB2 deutlich verringert.

Wer nutzt ULT4DB2?
Datenbankadministration, Anwendungsentwicklung und Administratoren nutzen ULT4DB2 um Ergebnisse von inkorrekten oder falsch geplanten Programmausführungen oder Benutzerfehlern zu korrigieren. Auditoren und Administratoren setzen ULT4DB2 ein um Updatesequenzen festzulegen. Datenzentren ersetzen teure Datenpropagierungswerkzeuge durch ULT4DB2, da es einen geringeren CPU-Verbrauch bei reduzierten Lizenzkosten bietet. Datenbankadministratoren benutzen ULT4DB2 um Updatefrequenzen und Leerlaufzeiten zu bestimmen. ULT4DB2 unterstützt DB2 Version 8 bis 11 in Single- und Datasharing-Modus.