For large amounts of data in the DBQueue (> 100k), CommonReCalculate Jobs are no longer correctly entered / updated in the DBQueueOverview. The DBCompiler Wizard waits indefinitely with the message "Wait for DBQueue Processor" / "Wait for DBQueue Processor" while using an Oracle database.
The DBQueue processor algorithm has a defect when there are the following kinds of jobs present in the DBQueue:
- CommonRecalculate with a lower sortorder as WaitForCompiler
- WaitForCompiler
- CommonRecalculate with a higher sortorder as WaitForCompiler
In this situation (especially when you have more than 100k entries in DBQueue) the lower recalculation jobs will not be processed but instead the compiler waits for it.
Please note this particular problem is specific to an Oracle environment.
There has been a defect created with the ID of 27264 to correct the problem going forward.
1) Close all IDM applications including Jobservices, Application service, web service and web portal
2) Execute the following:
SELECT Job_name, enabled
FROM user_scheduler_jobs
WHERE Job_Name = 'PWATCHDOG' and Enabled='TRUE' and Repeat_interval is not null
union all
SELECT Job_name, enabled
FROM user_scheduler_jobs
WHERE Job_Name = 'PDBQUEUEPROCESS_MAIN' and Enabled='TRUE'
union all
SELECT Job_name, enabled
FROM user_scheduler_jobs
WHERE Job_Name = 'PDBQUEUEPROCESS_DEL' and Enabled='TRUE'
union all
SELECT SubStr(Job_name,0,15), To_Char(count(*))
FROM user_scheduler_jobs
WHERE Job_Name like 'PDBQUEUEPROCESS___' and Enabled='TRUE'
group by SubStr(Job_name,0,15);
/* expected result:
PWATCHDOG TRUE
PDBQUEUEPROCESS_MAIN TRUE
PDBQUEUEPROCESS_DEL TRUE
PDBQUEUEPROCESS <number greater 0>
*/
3) If the expected result is not reported, execute:
begin
QBM_GWatchDog.PPrepare(1);
QBM_GDBQueue.PDBQueuePrepare(1);
end;
begin
QBM_GDBQueue.PDBQueuePrepare(0);
QBM_GWatchDog.PPrepare();
end;
... and return to point 2.
4) Use the Database Transporter to import the attached package
As soon as the DBQueue list control is displayed, the blocking point might be reached again, if this occurs please click inside the list and press [Ctrl]+[f]. Please note that this may take some time (up to 10+ minutes) please be patient, the progress bar is not frozen. If after 30 minutes the Transport is not finished, ask the DBA to check open /blocking sessions and report back to Support.
Finally, this branch of the code was redesigned for 7.1.1. This means that in Service Pack 1 for version 7.1 the issue was completely resolved along with some other DBQueue processor issues. While for 7.1.0 you still need the attached hotfix, it will fix only this issue. With that in mind we strongly encourage an upgrade to 7.1.1.
© 2021 One Identity LLC. ALL RIGHTS RESERVED. Feedback Terms of Use Privacy