WICHTIG: Ändern oder Löschen Sie keinen der eingerichteten Datenbankschedules, da dies zu unerwarteten Fehlerzuständen führen kann.
Die Initialisierung des DBQueue Prozessor erfolgt einmalig während der Schemainstallation. 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
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
Der Datenbankschedule für den zentralen Dispatcher wird durch den Datenbankschedule QBM_PWatchDog on <database> gestartet. 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 zunächst die Anzahl der aktuell verfügbaren Slots ermittelt, die für den aktuellen Lauf 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 Datenbankschedules der aktuell verfügbaren Slots einmalig. Jeder Datenbankschedule ist mit einem 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 Datenbankschedules der Slots gestoppt und der zentrale Dispatcher beendet. Weitere Informationen finden Sie unter Kommunikation des zentralen Dispatchers mit den einzelnen Slots.
Abbildung 39: Steuerung der Verarbeitung