Treten bei der Initialisierung des DBQueue Prozessors Fehler auf, werden die Meldungen im Anwendungsprotokoll protokolliert. Das Anwendungsprotokoll können Sie beispielsweise über die Ereignisanzeige in der Microsoft Management Console anzeigen.
Über den Konfigurationsparameter QBM | DBServerAgent | CreateNotification können Sie konfigurieren, in welchen Fällen Meldungen in das Anwendungsprotokoll geschrieben werden. Passen Sie den Konfigurationsparameter bei Bedarf im Designer an.
Zulässige Werte sind:
-
0: Es erfolgt keine Protokollierung.
-
1: Es werden nur Erfolgsmeldungen protokolliert.
-
2: Es werden nur Fehlermeldungen protokolliert (Standard).
-
3: Es werden alle Meldungen protokolliert.
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 194: 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.
WICHTIG: Ändern oder Löschen Sie keinen der eingerichteten Datenbankschedules, da dies zu unerwarteten Fehlerzuständen führen kann.
Für die Verarbeitung der internen Aufträge durch den SQL Server Agent, wird der DBQueue Prozessor während der Schemainstallation initialisiert. Während der Initialisierungsphase werden die folgenden Datenbankschedules erzeugt:
-
QBM_PWatchDog on <database>
Dieser Datenbankschedule übernimmt mehrere Funktionen im One Identity Manager.
-
Er prüft, ob der zentrale Dispatcher des DBQueue Prozessor aktiv ist und startet diesen neu.
-
Er übernimmt die Prüfung und den Start der Zeitpläne.
-
Er startet den Datenbankschedule zum Entfernen der bereits verarbeiteten DBQueue Aufträge.
-
Er startet den Datenbankschedule für Wartungsarbeiten.
-
Er prüft in regelmäßigen Abständen, ob der Einzelbenutzermodus der Datenbank noch erforderlich ist und setzt gegebenenfalls die Angabe zurück.
Dieser Datenbankschedule verfügt über einen aktiven Zeitplan mit einem Intervall von 1 Minute.
-
QBM_PDBQueueProcess_Main on <database>
Dieser Datenbankschedule ist der zentrale Dispatcher des DBQueue Prozessor. Der zentrale Dispatcher übernimmt die Steuerung der Verarbeitung und verteilt die Aufträge der DBQueue an die einzelnen Slots. Bei jedem Lauf des zentralen Dispatchers wird die Anzahl der aktuell verfügbaren Slots ermittelt, die für den aktuellen Lauf verwendet werden können. Der zentrale Dispatcher startet die Datenbankschedules der aktuell verfügbaren Slots einmalig.
Es wird maximal ein Datenbankschedule für den zentralen Dispatcher gestartet. Der Datenbankschedule des zentralen Dispatchers besitzt keinen aktiven Zeitplan, sondern wird durch den Datenbankschedule QBM_PWatchDog on <database> gestartet.
-
QBM_PDBQueueProcess<SlotNumber> on <database>
Während der Initialisierungsphase des DBQueue Prozessor wird die Anzahl der maximal verfügbaren Slots ermittelt.
-
Für produktive Datenbanken ist die Anzahl der maximalen Slots abhängig von der Anzahl der Prozessoren auf dem Datenbankserver.
-
Für Testumgebungen und Entwicklungsumgebungen ist die maximale Anzahl der Slots reduziert.
-
Ist der Konfigurationsparameter QBM | DBServerAgent | CountSlotAgents aktiviert, wird immer die genaue Anzahl der angegebenen Slot eingerichtet. Es erfolgt keine interne Berechnung der Slotanzahl anhand der Hardwarekonfiguration.
Weitere Informationen finden Sie unter Konfiguration des DBQueue Prozessor für Test-, Entwicklungs- oder Produktivumgebungen.
Für jeden Slot wird ein zugehöriger Datenbankschedule QBM_PDBQueueProcess<SlotNumber> on <database> eingerichtet. Jeder Datenbankschedule wird mit einem Prozess eingerichtet, der die Aufträge der DBQueue für genau diesen Slot ausführt. Die Datenbankschedules der einzelnen Slots besitzen keine aktiven Zeitpläne. Der Start erfolgt über den zentralen Dispatcher.
-
QBM_PDBQueueProcess_Del on <database>
Dieser Datenbankschedule entfernt die verarbeiteten DBQueue Aufträge. Der Datenbankschedule besitzt keinen aktiven Zeitplan, sondern wird durch den Datenbankschedule QBM_PWatchDog on <database> gestartet.
-
QBM_PDBQueueProcess_Mnt on <database>
Dieser Datenbankschedule verarbeitet die Wartungsaufträge. Die Wartungsaufträge übergeben dem Datenbankschedule ihre Aufgaben, statt sie selbst durchzuführen. Damit muss an der Zeitsteuerung für die Wartungsaufträge nichts geändert werden. Der Datenbankschedule besitzt keinen aktiven Zeitplan, sondern wird durch den Datenbankschedule QBM_PWatchDog on <database> gestartet. Ausführliche Informationen zu Wartungsaufträgen finden Sie im One Identity Manager Administrationshandbuch für betriebsunterstützende Aufgaben.
Verwandte Themen