We are experiencing very slow performance in IDMSBCF MAINTAIN INDEX process in the production environment.
In the test environment, for the same process on the same database the performance is much better.
Release : 19.0
IDMSBCF MAINTAIN INDEX runs in local mode so it uses the local mode buffers in the DMCL not the CV buffers.
Run IDMSLOOK against both environment DMCLs and check the local mode buffers.
//IDMSLOOK EXEC PGM=IDMSLOOK,REGION=4096K
//STEPLIB DD DSN=IDMS.DBA.LOADLIB,DISP=SHR
// DD DSN=IDMS.CUSTOM.LOADLIB,DISP=SHR
// DD DSN=idms.CAGJLOAD,DISP=SHR
//DCMSG DD DISP=SHR,DSIDMS.SYSMSG.DDLDCMSG
//SYSJRNL DD DUMMY
//SYSLST DD SYSOUT=*
//SYSIDMS DD *
ECHO=ON
DMCL=dmcl_name
//SYSIPT DD *
DMCL ALL SORTED PAGES
/*
In this case the DMCL used in production only had 50 pages for all local buffers which is far too low. In the QA DMCL the local mode buffers are much higher, some 1000s of pages.
The problem is a different DMCL has been set up for use in local mode with larger local mode buffers but the CV DMCL was wrongly used in the MAINTAIN INDEX job.
The solution is to rerun the MAINTAIN INDEX job with the DMCL tailored for local mode.
See IDMS documentation sections MAINTAIN INDEX and IDMSLOOK.