Chat now with support
Chat with Support

Identity Manager 8.0 - Configuration Guide

One Identity Manager Software Architecture Working with the Designer Customizing the One Identity Manager Default Configuration Checking Data Consistency Compiling a One Identity Manager Database Working with Change Labels Basic System Configuration Data
One Identity Manager Authentication Module Database Connection Data Configuration Parameters for System Configuration Setting up the Mail Notification System Enabling More Languages for Displaying and Maintaining Data Displaying Country Information Setting Up and Configuring Schedules Password Policies in One Identity Manager Reloading Changes Dynamically TimeTrace Databases Machine Roles and Server Functions Files for Software Update Operating Systems in Use System Configuration Reports Using Predefined Database Queries Managing Custom Database Objects within a Database
The One Identity Manager Data Model Granting One Identity Manager Schema Permissions Working with the User Interface
Object definitions for the User Interface User Interface Navigation Forms for the User Interface Statistics in the One Identity Manager Extending the Launchpad Task Definitions for the User Interface Applications for Configuring the User Interface Icons and Images for Configuring the User Interface Language Dependent Data Representation
Process Orchestration in One Identity Manager
Declaring the Job Server One Identity Manager Service Configuration Handling Processes in the One Identity Manager
Tracking Changes with Process Monitoring Conditional Compilation using Preprocessor Conditions One Identity Manager Scripts Maintaining Mail Templates Reports in the One Identity Manager Custom schema extensions Transporting One Identity Manager Schema Customizations Importing Data Web Service Integration SOAP Web Service One Identity Manager as SPML Provisioning Service Provider Searching for Errors in the One Identity Manager Processing DBQueue Tasks One Identity Manager Configuration Files

Initializing the DBQueue Processor

Initializing the DBQueue Processor

IMPORTANT: Do no change or delete predefined database schedules as it may lead to unexpected errors.

DBQueue Processor initialization takes place once during schema installation. The following database schedules are generated during the initialization phase:

  • QBM_PWatchDog on <database>

    This database schedule assumes several functions in the One Identity Manager.

    • It checks whether DBQueue Processor's central dispatcher is active and restarts it.
    • It starts a database schedule to remove complete processes from the DBQueue.
    • It controls validation and starting of schedules.
    • It checks at regular intervals, whether database single-user mode is still required and resets the setting if necessary.

    This database schedule has an active schedule with a 1 minute interval.

  • QBM_PDBQueueProcess_Main on <database>

    This database schedule is the DBQueue Processor's central dispatcher. The central dispatcher assumes control of processing and distributes DBQueue tasks to individual slots. Each time the central dispatcher is executed, the number of currently available slots required for the current run is found. The central dispatcher starts database schedules for the currently available slots just once.

    Only one database schedule at most is started for the central dispatcher. The central dispatcher's database schedule does not have an active schedule, but is started by the database schedule QBM_PWatchDog on <database>.

  • QBM_PDBQueueProcess<SlotNumber> on <database>

    The maximum number of available slots is determined during the DBQueue Processor initialization phase. The maximum number of slots depends on the number of processors on the database server. An associated database schedule QBM_PDBQueueProcess<SlotNumber> on <database> is set up for each slot. Each database schedule is set up with a process which executes the DBQueue tasks for exactly this slot. The database schedules associated to each slot do not have any active schedules. They are started by the central dispatcher.

  • QBM_PDBQueueProcess_Del on database

    This database schedule removes processed DBQueue tasks. The database schedule does not have an active schedule, but is started through the database schedule QBM_PWatchDog on <database>.

Related Topics

DBQueue Processor Reinitialization

DBQueue Processor Reinitialization

  • You must execute the procedure QBM_PDBQueuePrepare once manually when the server hardware has been extended or custom DBQueue Processor tasks have been created.
  • You must execute the procedures QBM_PDBQueuePrepare and QBM_PWatchDogPrepare once when you set up a reference database for test and development.

Run the following procedures once in the reference database using a suitable query tool.

SQL Server

exec QBM_PWatchDogPrepare

exec QBM_PDBQueuePrepare 0,1

Oracle Database

exec QBM_GWATCHDOG.PPREPARE(0);

exec QBM_GDBQUEUE.PDBQUEUEPREPARE(0);

Controlling Processing of DBQueue Processor Tasks

Controlling Processing of DBQueue Processor Tasks

The database schedule for the central dispatcher is started with the database schedule QBM_PWatchDog on <database> . The central dispatcher assumes control of processing and distributes DBQueue tasks to individual slots.

Each time the central dispatcher is executed, the number of currently available slots required for the current run is found first. The more load there is on the database, the less slots there are to use. At least two slots are used.

The number of currently available slots results from:

The number of currently available slots = maximum number of available slots - sum of all own database processes - sum of processes of other databases on the server

The central dispatcher starts database schedules for the currently available slots just once. Each database schedule is set up with a process , which executes tasks for exactly this slot.

Once tasks in the DBQueue are entered, the central dispatcher is notified. The central dispatcher distributes tasks to individual slots and notifies the slot processes that there are tasks are waiting to be processed. Each process processes the tasks queued for its slot. Once the task is complete, each process sends a message to the central dispatcher and waits for new tasks.

The central dispatcher checks at defined intervals whether the slots are still active and distributes new tasks to them. If there are no more tasks in the DBQueue, the central dispatcher goes into a wait state and waits for new task notifications.

Tasks on slots currently in use are still processed when the timeout expires. Then the slot database schedules are stopped and the central dispatches exits. For more information, see How the Central Dispatcher Communicates with Individual Slots.

Figure 66: Controlling Processing

Processing DBQueue Processor Tasks

Processing DBQueue Processor Tasks

The central dispatcher finds entries in the DBQueue (table DialogDBQueue) and moves the tasks into the table QBMDBQueueCurrent with the assignment tasks per slot.

Example of Entries in the Tables DialogDBQueue and QBMDBQueueCurrent
Table 366: Entries in the table DialogDBQueue (extract)
Task name Object
OrgRoot A
OrgRoot B
ADSAccountInADSGroup X
ADSAccountInADSGroup Y
ADSAccountInADSGroup Z
Table 367: Entries in the table QBMDBQueueCurrent (extract)
Slot number Task name Object
001 OrgRoot A
001 OrgRoot B
002 ADSAccountInADSGroup X
002 ADSAccountInADSGroup Y
002 ADSAccountInADSGroup Z

Each process processes tasks queued for its own slot in the table QBMDBQueueCurrent. Subsequent tasks resulting from processing are queued in the table DialogDBQueue.

When a process has handled its tasks and no new task are pending, process sets the slot number itself to "0" in the table QBMDBQueueCurrent. The entry initially remains in the table QBMDBQueueCurrent but is no longer taken into account (because slot 0 is not active).

The database schedule QBM_PDBQueueProcess_Del on <database> deletes all entries with slot number "0" from the table QBMDBQueueCurrent in regular intervals.

Table 368: Meaning of Slot Numbers in the Table QBMDBQueueCurrent
Slot number Meaning
001 - n Number of slot to be processed by the task.
0 State after the task is completed correctly.
-1

An error occurred during task processing or processing was deferred, for example, because synchronization is running. The central dispatcher re-enables the task.

-2

An error occurred during task processing or processing was deferred, for example, because of blocking. The central dispatcher re-enables the task.

-3

An error occurred during task processing or processing was deferred, for example, because there are still entries in the Job queue. The central dispatcher re-enables the task.

Related Topics
Related Documents