IDMS default LOADER RUNUNITs display show a high amount of OVERFLOW rununit allocations, even though we have multiple defined and the last preallocated RU appears to not have been used. Why?
In SYSGEN SYSTEM statement we have multiple LOADER RUNUNITs defined.
PMRM and DCMT D RU show that the LOADER RUNUNITs for the default dictname have encountered many Overflow Rununit allocations even though one of the preallocated RUNUNITs has not been used or is used very few times.
If a user is set to DICTNAME xxxxxxxx and there are
no LOADER rununits defined for that DICTNAME, we will take an overflow RU from the default dict LOADER RUs.
The CV has two dictionaries called SYSTEM and SYSDICT.
DBA has defined one or more LOADER RUNUNITs on the sysgen SYSTEM statement.
These apply to the DEFAULT dictname only (blank dictname). DEFAULT DICTNAME or DBNAME is only used if there is no DICTNAME/DBNAME set for the user session that is requesting the start of a database transaction.
DBA has also defined one or more LOADER RUNUNITs specifically for DICTNAME SYSTEM, but not for DICTNAME SYSDICT.
ADD RUNUNITS FOR LOADER
DICTNAME IS SYSTEM
COUNT IS nn.
In the DBTABLE, SYSDICT is defined as the DEFAULT Dictname as seen in the top of this DCMT DISPLAY DBNAME display
DBNAME *DEFAULT MATCH ON SUBSCHEMA IS OPTIONAL
SUBSCHEMA IDMSNWK? MAPS TO IDMSNWK? USING DBNAME SYSDICT
So in this scenario if a user is explicitly set to DICTNAME SYSDICT at the time the database transaction starts, IDMS will find no LOADER RUNUNITs predefined for DICTNAME SYSDICT, so will use overflow from the DEFAULT (blank) LOADER RUNUNITs.
If you define LOADER rununits for each DICTNAME that users can set, those will always be used before resorting to overflow rununits from the DEFAULT LOADER RUNUNITs.