Reorg der UC4 DB

Ausgangsproblem

In einer Installation sollen alle Mandanten periodisch reorganisiert werden. Es ist unwichtig, wie lange dieser Reorg dauert, er kann (und soll) auch in der Online-Zeit des Systemes erfolgen. Wichtig ist, daß nach Beenden des Reorgs aller Mandanten der Reorg automatisch nach einer bestimmten Anzahl von Tagen wieder anläuft. Im Fehlerfall soll der gesamte Ablauf stehen bleiben und eine email an die Administratoren geschickt werden.

Lösungsansatz

Das Verfahren besteht aus einer Reihe von Jobs, die für jeden Mandanten eines UC4 Systemes

  • einen Archivierunge-Job starten,
  • einen Job für den Reorg des Mandanten anstoßen,
  • sowie einen Unload-Job, mit dem die zu löschenden UC4 Objekte aus der Datenbank entfernt werden, starten.


Zusätzlich wird nach dem Reorg aller Mandanten ein Reorg der Datenbank durchgeführt. Hierbei handelt es sich um einen Online-Reorg, der unterbrochen bzw. wieder gestartet werden kann. (Im vorliegenden Fall kam als Datenbank eine DB2 Instanz unter AIX zum Einsatz.)

Diese drei Jobs werden für alle Mandanten des UC4 Systems auf einmal generiert und laufen in einer Gruppe, die maximal einen Job auf einmal zuläßt. Der Ausgangszustand der Gruppe ist gesperrt. Die Jobs selber laufen alle in einem dedizierten Administrationsmandanten. Die Gruppe selber wird jeden Tag nach dem Ende der Hauptverarbeitung aus dem Scheduler im Administrationsmandanten gestartet, so daß nach Ende der Batchverarbeitung automatisch ein Reorg gestartet wird.

Parallel hierzu wird ein Ablauf gestartet, der periodisch die Last auf dem UC4 System prüft. Überschreitet die Last einen bestimmten Schwellwert, so wird automatisch die Gruppe mit den Reorg-Jobs angehalten; wird der Schwellwert unterschritten, so wird die Gruppe wieder gestartet. Wurde der je Mandant laufende, abschließende Reorg der UC4 Datenbank gestartet, so führt die Über- oder Unterschreitung des Schwellwertes zusätzlich dazu, daß der Online-Reorg in der Datenbank selber durch entsprechende Jobs unterbrochen bzw. wieder neu gestartet wird. Mit diesen Steuerungsmöglichkeiten wird vermieden, daß sich eventuell abzeichnende Performanceengpässe durch den laufenden Reorg zusätzlich verschärft werden.

Da die wesentlichen Komponenten des Reorgs in einer Gruppe laufen, wird der gesamte Ablauf auch im Fehlerfall angehalten und eine Nachricht (email und CALL Operator) an die UC4 Administratoren verschickt. In diesem Fall ist manuelles Eingreifen zum Beheben des Fehlers wie auch das Freigeben der Gruppe erforderlich.

Der gesamte Ablauf wird periodisch gestartet. Da die Laufzeit eines vollständigen Reorgs aller Mandanten variiert, erfolgt der Start nicht zu einer festen Zeit, sondern in Abhängigkeit vom Ende des Reorgs des letzten Mandanten. Nach diesem Reorg wird in der Gruppe noch ein Script gestartet, welches den gesamten Ablauf nach einigen Tagen wieder startet. Die Anzahl Tage, die der neue Reorg nach dem Ende seines vorhergegangenen Reorgs starten soll, ist natürlich konfigurierbar.