Administratorhandbuch > Datenbank > Datenbankwartung > Methode B - Partitionierung mit ILM

Partitionierung mit ILM

Im täglichen Betrieb eines Automation Engine Systems fallen umfangreiche Daten an.

Dazu gehören:

Eine Möglichkeit, die Datenbank zu warten, besteht darin, die Partitionierung mit ILM (Information Lifecycle Management) zu nutzen.

Allgemein

Partitionierung bedeutet, dass die oben genannten Daten in eigene Bereiche gespeichert werden. Die Aufteilung in Partitionen vereinfacht die Wartung, da die Datensätze, die zu einem bestimmten Zeitraum gehören, am selben Ort abgespeichert sind und somit gemeinsam archiviert und reorganisiert werden können.

Der Ausgangspunkt ist die Aktivierung von Objekten, Serverprozessen, Agenten etc. Der dabei angelegte Statistiksatz wird in der aktuellen Partition gespeichert. Alle zugehörigen Daten wie beispielsweise Reports werden in der Partition abgelegt, in der sich der Statistiksatz befindet.

Sie können selbst bestimmen, wie viele und wo die Partitionen abgelegt werden sollen. Auch das Intervall, in dem ein Partitionswechsel stattfinden soll, ist konfigurierbar.

Partitionierung mit ILM wird für MS SQL Server (nur für die Enterprise oder Developers Edition) und Oracle unterstützt.

Die Systemübersicht enthält einen eigenen Bereich namens ILM, in der die Partitionen angezeigt werden.

Der Zugriff auf diesen Bereich ist mit einem eigenen Privileg geschützt.

Beachten Sie, dass Objektversionen und gelöschte Objekte auch dann mit den Dienstprogrammen zu reorganisieren sind, wenn Sie die Partitionierung mit ILM einsetzen!

Funktionsweise

Sehen wir uns das Prinzip der Partitionierung anhand eines Bespieles an:

Es sind drei Partitionen in der Datenbank vorhanden. Der Partitionswechsel wird immer am Monatsanfang durchgeführt. Die Partition "P1" enthält daher die Datensätze der Aktivierungen von September und die Partition "P2" jene von Oktober. Es ist November und die aktuelle Partition ist "P3". Die Daten eines Objektes, das im Laufe dieses Monats aktiviert wird, werden in P3 gespeichert. Eine Aufgabe, die im Oktober gestartet wurde, aber erst jetzt endet, wird in der Partition "P2" abgelegt.

Die drei Partitionen "P1", "P2" und "P3" sind online, d.h. die Automation Engine kann auf Datensätze, die in ihnen gespeichert sind, zugreifen.

Einige Wochen vergehen, es ist Anfang Dezember und der Partitionswechsel findet statt. Die neu angelegte Partition "P4" ist jetzt die aktuellste. Da die Anzahl der Online-Partitionen einstellbar ist, wird zuerst geprüft, ob dieser Wert überschritten ist. In diesem Beispiel beträgt der Wert "3". Das bedeutet: Es wird der gleiche Container (Tablespace/Dateigruppe) wie für Partition "P1" genutzt. Die Daten innerhalb der Partition "P1" stehen so lange zur Verfügung, bis Sie die Partition trennen.

Partitionen

Im vorherigen Beispiel werden Statistiksätze, Reports, Meldungen usw., die zu einem Zeitraum gehören, in einem gemeinsamen Container gespeichert. Sie haben auch die Möglichkeit, die Reports und Meldungen in einem eigenen Container ((tablespace/filegroup)) abzulegen. Es stehen drei Variablen zur Verfügung, in denen Sie den Speicherort der Partitionen festlegen können:

Alle drei Variablen müssen gleich viele Einträge besitzen. Es ist nicht möglich, beispielsweise fünf Partitionen für die Statistiksätze zu verwenden, aber nur drei für die Reports.

Partitionswechsel

Die Tage, an denen ein Partitionswechsel stattfinden soll, können Sie in einem Kalender-Objekt einstellen. Tragen Sie in der Variable UC_ILM_SETTINGS im Key CALENDAR den Namen des Kalender-Objektes und des Kalenderbegriffes ein. Der Partitionswechsel erfolgt um 00:00 an den eingestellten Tagen. Die Zeitzone des Systemmandanten 0000 wird für die Uhrzeit verwendet. Ist die Automation Engine zu diesem Zeitpunkt nicht aktiv, so wird der Partitionswechsel beim nächsten Start durchgeführt.

Ist der Zeitpunkt für einen Partitionswechsel gekommen, wird die Verarbeitung im Automation Engine System angehalten und gewartet, bis alle Arbeitsprozesse ihre aktuelle Datenbank-Transaktion beendet haben. Der Key TIMEOUT in der Variable UC_ILM_SETTINGS bestimmt, wie lange die Wartezeit maximal betragen darf. Erst wenn keine aktiven Datenbank-Transaktionen vorhanden sind, kann eine neue Partition angelegt werden.

Anschließend wird geprüft, ob mehr Partitionen online sind, als Sie in der Variable UC_ILM_SETTINGS mit dem Key ONLINE_PARTITIONS definiert haben. Ist das der Fall, so wird bei MS SQL Server bei allen über diesen Wert hinausgehenden Partitionen geprüft, ob sie Datensätze von noch aktiven Aufgaben enthalten.

Die Logdatei der Automation Engine enthält detaillierte Informationen zum Partitionswechsel. Dazu gehört auch eine Liste mit allen aktiven Aufgaben, die zu der Partition gehören, die nicht mehr online sein sollte.

Sie können jederzeit in der Systemübersicht im Bereich "ILM" eine Partition auf aktive Aufgaben prüfen lassen. Auch hier erhalten Sie eine Aufstellung in Form einer Liste.

Wenn die Partition keine Datensätze von aktiven Aufgaben enthält, erfolgt bei MS SQL Server ein Switch-Out. Eine Staging-Tabelle wird dabei erstellt, die Sie sichern, entladen etc. können.
In Oracle-Datenbanken bleibt die Partition so wie sie ist, und Sie können mit Oracle-Mitteln auf Partitionsebene Backups erstellen, Exports erzeugen etc. und sie danach löschen. Für Oracle wird in der AE die Prüfung auf noch aktive Aufgaben erst beim Versuch, die Partition zu löschen, durchgeführt.

Wenn die Partition aber noch Datensätze von aktiven Aufgaben enthält, bleibt sie wie sie ist. Beim nächsten Partitionswechsel wird diese Partition nochmal überprüft. Sie können die Liste der aktiven Aufgaben auch durchgehen, bereinigen und anschließend für die Partition selbst in der Systemübersicht ein Switch-Out vornehmen bzw. löschen.

Beachten Sie, dass eine Partition auch dann archiviert, gelöscht etc. werden kann, wenn noch aktive Aufgaben vorhanden sind. Machen Sie dies aber nicht ohne Rücksprache mit dem Support! Endet beispielsweise eine Aufgabe und ihr Statistiksatz gehört zu einer bereits gelöschten Partition, so kann unter anderem der Report nicht gespeichert werden und geht verloren!

Um sowohl auf einen erfolgreichen als auch auf einen fehlgeschlagenen Partitionswechsel automatisch reagieren zu können, bietet die Variable UC_ILM_SETTINGS die Möglichkeit, Objekte zu definieren, die in diesen Situationen aktiviert werden sollen. Die Keys EXECUTE_ON_SUCCESS und EXECUTE_ON_FAILURE dienen diesem Zweck.

Langlaufende Aufgaben

Wie bereits erwähnt, verhindern aktive Aufgaben die Offline-Schaltung der Partition, zu der ihre Statistiksätze gehören. Wählen Sie das Intervall des Partitionswechsels nicht zu klein, um diese Situation möglichst zu vermeiden. Trotzdem gibt es Aufgaben, die per Definition sehr lange laufen bzw. kein Ende haben.

Bei folgenden Aufgaben wird ein regelmäßiger Logwechsel durchgeführt und damit ein neuer Statistiksatz angelegt:

Vergleichen Sie das Logwechsel-Intervall mit dem Zeitintervall des Partitionswechsels.

Bei folgenden Aufgaben wird direkt vor einem Partitionswechsel automatisch ein Logwechsel durchgeführt:

Bei folgenden Aufgaben müssen Sie manuell eingreifen, da kein Logwechsel erfolgt:

Datenbankrechte für ILM

Die Datenbank-Aktionen, die für die Partitionierung mit ILM benötigt werden, erfordern einen Datenbank-Benutzer, der Schemarechte besitzt. Aus Sicherheitsgründen wird für die ILM-Aktionen ein eigener Datenbank-Benutzer verwendet. Legen Sie im Systemmandanten 0000 ein Login-Objekt an und tragen Sie die Anmeldedaten des Datenbank-Benutzers ein. Als Host-Typ ist "DB" auszuwählen. Geben Sie anschließend den Namen des Login-Objektes in der Variable UC_ILM_SETTINGS im Key LOGIN an.

Der Datenbank-Benutzer für die ILM-Aktionen und der Datenbank-Benutzer, den Sie in der INI-Datei der Automation Engine im Abschnitt [ODBC] angeben, benötigen ein Leserecht auf die folgenden Systemtabellen:

Außerdem sind noch folgende Rechte für den Datenbank-Benutzer für die ILM-Aktionen nötig:

Installation

Die Installation von ILM wird mit dem Dienstprogramm AE DB Load beim Laden von Initialdaten vorgenommen. Installieren Sie ILM daher:

Wenn Sie sich gegen die Partitionierung mit ILM entscheiden, müssen Sie die Datenbank mit den Dienstprogrammen warten.

Beachten Sie, dass die Partitionierung mit ILM nicht mehr deinstalliert werden kann, sobald sie einmal installiert worden ist! Eine Deaktivierung der ILM-Funktionalität ist aber möglich. Ist ILM nicht aktiv, so erfolgen kein Partitionswechsel und keine Switch-Outs (Letzteres betrifft nur den MS SQL Server).

Bei Verwendung einer Oracle-Datenbank darf es innerhalb einer Oracle-Instanz, die für ILM verwendet wird, nur ein Schema der Automation Engine-Version 8.00A geben!

Ablauf

  1. Überlegen Sie, wie viele Partitionen Sie für Ihr Automation Engine System haben möchten und wo Sie diese speichern wollen.
  2. Legen Sie die Dateien und Dateigruppen (MS SQL Server) bzw. die Tablespaces (Oracle) an. Sie sollten nur Daten des Automation Engine Systems enthalten, um das Archivieren und Sichern der Partitionen zu erleichtern. Die Automation Engine überprüft nicht, ob die Dateigruppen bzw. Tablespaces noch anderweitig genutzt werden.
  3. Starten Sie das AE DB Load und laden Sie die Initaldaten. Es erscheint ein Formular, in dem Sie die Haupteinstellungen für ILM festlegen können.
  4. Aktivieren Sie das Kontrollkästchen "ILM installieren".
  5. Wenn ILM installiert ist, werden Datensätze in der EH-Datenbanktabelle "zugeschaltet". Deaktivieren Sie nicht die Option "do switch in after installation", wenn Datensätze in der EH-Tabelle enthalten sind.

  6. Geben Sie die Anzahl der Online-Partitionen ein.
  7. Bei einem Update auf oder innerhalb der Automation Engine-Version 8.00A oder höher können Sie das Kontrollkästchen "Switch-In nach Installation durchführen" aktivieren. Es bewirkt, dass bestehende Daten in die Partitionen übernommen werden.
  8. Tragen Sie die Dateigruppen (MS SQL Server) bzw. die Tablespaces (Oracle) ein.
  9. Sobald die Automation Engine läuft und Sie sich mit dem UserInterface am Automation Engine System anmelden können, lassen sich die restlichen Einstellungen vornehmen.
  10. Melden Sie sich am Systemmandanten 0000 an.
  11. Passen Sie die Variablen UC_ILM_SETTINGS und UC_CONTAINER_* (bei Bedarf) an.
  12. Passen Sie die Einstellung CHANGE_LOGGING_DAYS innerhalb von UC_SYSTEM_SETTINGS an, um sie an das Intervall des Partitionswechsels anzupassen.
  13. Automatisieren Sie die Behandlung der Partitionen (z. B: Archivierung, Sicherung, Löschung etc.).

Wichtiger Hinweis für MS SQL-Server

Für das Funktionieren des Partitionswechsels und den damit verbundenen Switch-Outs und Switch-Ins ist es unbedingt erforderlich, dass alle Indizes lokal definiert, d.h. exakt nach derselben Regel wie die Tabellen selbst partitioniert sind. Global definierte Indizes verhindern Switch-Outs bzw. Switch-Ins!

Script

Die Scriptfunktion namens ILM ermöglicht Ihnen bestimmte Funktionalitäten zu steuern.

 


Automic Documentation - Tutorials - Automic Blog - Resources - Training & Services - Automic YouTube Channel - Download Center - Support

Copyright © 2016 Automic Software GmbH