WICHTIG: Verwenden Sie für die Ausführung der SQL Abfragen den Benutzer, den Sie auch für die Migration der Datenbank verwenden.
-
Die Prozedur QBM_PDBQueuePrepare ist einmalig manuell auszuführen, bei Erweiterung der Serverhardware und bei Erstellung kundenspezifischer DBQueue Prozessor Aufträge.
-
Bei Einrichtung einer Referenzdatenbank für eine Test- oder Entwicklungsumgebung sind die Prozeduren QBM_PDBQueuePrepare und QBM_PWatchDogPrepare einmalig auszuführen.
Führen Sie mit einem geeigneten Programm zur Ausführung von SQL Abfragen einmalig die folgenden Prozeduren in der Referenzdatenbank aus.
exec QBM_PWatchDogPrepare
exec QBM_PDBQueuePrepare 0,1
Tabelle 186: Konfigurationsparameter für die Mengenverarbeitung im DBQueue Prozessor
QBM | DBQueue | DefaultRuntime |
Der Konfigurationsparameter legt fest, wie groß das Laufintervall des DBQueue Prozessors sein soll. Der Standardwert ist 90 Sekunden. |
QBM | DBQueue | ChangeLimitMin |
Der Konfigurationsparameter definiert den unteren Grenzwert für Änderungen (Einfügen, Ändern oder Löschen) innerhalb einer einzelnen Operation. Der Standardwert ist 3000. |
QBM | DBQueue | ChangeLimitMax |
Der Konfigurationsparameter definiert den oberen Grenzwert für Änderungen (Einfügen, Ändern oder Löschen) innerhalb einer einzelnen Operation. Der Standardwert ist 50000. |
Um die Gesamtzeit der Verarbeitung der DBQueue Aufträge zu reduzieren, sind einige der Prozeduren des DBQueue Prozessors für die Mengenverarbeitung gekennzeichnet. Sind mehrere Einträge für einen derart gekennzeichneten Auftrag in der DBQueue vorhanden, dann schaltet der DBQueue Prozessor von Einzelverarbeitung auf Mengenverarbeitung.
Es ist ein Mechanismus implementiert, anhand dessen entschieden wird, ob die Umstellung auf Mengenverarbeitung gegenüber der Einzelverarbeitung zu einer Zeitersparnis führen würde. Dazu werden zunächst 25 Einzelverarbeitungen eines Auftrages ausgeführt und die Verarbeitungszeiten ermittelt. Alle weiteren Einträge eines Auftrages, werden über Mengenverarbeitung abgearbeitet und die minimale und maximale Ladezeit für eine rentable Mengenverarbeitung bestimmt. Die Aktualisierung der Ladezeiten erfolgt durch ein selbstoptimierendes Berechnungsverfahren. Das eingesetzte Verfahren hat zur Folge, dass sich der DBQueue Prozessor erst einschwingen muss, insbesondere nach einer initialen Schemainstallation oder nach Systemänderungen wie beispielsweise Speicherzuwachs des Datenbankservers.
Über den Konfigurationsparameter QBM | DBQueue | DefaultRuntime können Sie festlegen, wie groß das Laufintervall des DBQueue Prozessors sein soll. Der Standardwert ist 90 Sekunden. Dies entspricht dem Zeitraum, für den über das Berechnungsverfahren eine gute Auslastung erzielt wird.
Als Schutz vor Überladung bei zu großen Datenmengen können Grenzwerte für die zu bearbeitende Ergebnismenge definiert werden. Die Steuerung erfolgt über die Konfigurationsparameter QBM | DBQueue | ChangeLimitMin und QBM | DBQueue | ChangeLimitMax.
Für die Verarbeitung der internen Aufträge durch den Database Agent Service, stellen Sie sicher, dass der Database Agent Service installiert und konfiguriert ist. Der Database Agent Service wird über ein Plugin des One Identity Manager Service bereitgestellt. Alternativ kann der Database Agent Service über das Kommandozeilenprogramm DatabaseAgentServiceCmd.exe ausgeführt werden. Das Plugin sollte auf dem Jobserver konfiguriert sein, der die Serverfunktion Aktualisierungsserver übernimmt. Für die Datenbankverbindung im Jobprovider muss ein administrativer Benutzer verwendet werden.
Der Database Agent Service übernimmt folgende Aufgaben:
-
Steuerung der Verarbeitung und Verteilung der Aufträge der DBQueue an die einzelnen Slots (zentraler Dispatcher)
-
Prüfen und Starten von zeitgesteuerten Aufträgen
-
Entfernen von bereits verarbeiteten DBQueue Aufträgen
-
Starten von Wartungsarbeiten
-
Befüllen und Aktualisieren der Jobqueue Übersicht
-
Archivieren oder Löschen von verarbeiteten Prozessen aus der Jobqueue
-
Archivieren oder Löschen von Aufzeichnungen aus der Prozessverarbeitung
HINWEIS: Wenn der Database Agent Service nicht arbeitet, wird in allen Administrationswerkzeugen eine Meldung in der Statuszeile angezeigt. Um diese Meldung zu sehen, benötigen die Benutzer mindestens die Berechtigungsebene für Konfigurationsbenutzer.
Verwandte Themen
Der zentrale Dispatcher übernimmt die Steuerung der Verarbeitung und verteilt die Aufträge der DBQueue an die einzelnen Slots.
Es wird zunächst die Anzahl der aktuell verfügbaren Slots ermittelt, die verwendet werden können. Je mehr Last auf dem Datenbankserver vorhanden ist, desto weniger Slots können aktuell verwendet werden, mindestens werden jedoch 5 Slots verwendet.
Die Anzahl der aktuell verfügbaren Slots ergibt sich aus :
Anzahl aktuell verfügbarer Slots = Anzahl der maximal verfügbaren Slots - Betrag für alle Prozesse der eigenen Datenbank - Betrag für Prozesse auf anderen Datenbanken des Servers
Der zentrale Dispatcher startet die aktuell verfügbaren Slots einmalig. Für jeden Slot ist ein Prozess eingerichtet, der die Aufträge für genau diesen Slot ausführt.
Sobald Aufträge in die DBQueue eingetragen werden, wird der zentrale Dispatcher benachrichtigt. Der zentrale Dispatcher verteilt die Aufträge in die einzelnen Slots und benachrichtigt die Prozesse der Slots, dass Aufträge zur Verarbeitung anstehen. Jeder Prozess verarbeitet die Aufträge, die für seinen Slot eingestellt werden. Nach Beendigung seines Auftrags sendet jeder Prozess eine Benachrichtigung an den zentralen Dispatcher und wartet auf neue Aufträge.
Der zentrale Dispatcher prüft in definierten Abständen, ob die Slots noch aktiv sind und verteilt neue Aufträge an die Slots. Sind keine Aufträge in der DBQueue vorhanden, geht der zentrale Dispatcher in den Wartezustand und wartet auf die Benachrichtigung über neue Aufträge.
Nach Ablauf der Laufzeit werden die Aufträge aktuell verwendeter Slots noch abgearbeitet. Anschließend werden die Slots gestoppt. Weitere Informationen finden Sie unter Kommunikation des zentralen Dispatchers mit den einzelnen Slots.