I am trying to vary area DDLDCLOD to retrieval or offline mode using a DCMT command:
DCMT V AREA APPLDICT.DDLDCLOD RET or DCMT V AREA APPLDICT.DDLDCLOD OFF
The command is accepted but returns message Vary Area Pending and the area stays in update mode.
How can this area be varied to offline or retrieval mode?
When varying Area status without the IMMEDIATE parameter, IDMS must wait for all active rununits that conflict with the specified mode to finish before it can put the area in the requested mode. For several dictionary areas you may have defined PERMANENT system rununits that do not end until SHUTDOWN. These will cause the area to be put in a pending status.
DCMT V AREA APPLDICT.DDLDCLOD IMMEDIATE will force all of the permanent loader rununits to finish.
In order to vary the DDLDCLOD area to retrieval mode without using the IMMEDIATE parameter, you first need to vary offline the permanent system loader rununits that are active.
A DCMT D RU LOADER command will show all loader system rununits.
TYPE LOADER DRIVER TASK ID 0000000003 SUBSCHEMA IDMSNWKL NODE DICTNAME/DBNAME IDLE INTERVAL OFF PREDEFINED RUN UNITS 2 RUN UNIT ALLOCATIONS 14 RUN UNIT FREES 14 OVERFLOW RUN UNITS 10 AREA NAME DDLDCLOD USAGE MODE SHARED UPDATE TYPE BOUND IN-USE ALLOCS OWNING TASK PERM YES NO 4 PERM YES NO 0 TYPE LOADER DRIVER TASK ID 0000000003 SUBSCHEMA IDMSNWKL NODE DICTNAME/DBNAME SYSDICT IDLE INTERVAL OFF PREDEFINED RUN UNITS 1 RUN UNIT ALLOCATIONS 0 RUN UNIT FREES 0 OVERFLOW RUN UNITS 0 AREA NAME DDLDCLOD USAGE MODE SHARED UPDATE TYPE BOUND IN-USE ALLOCS OWNING TASK PERM YES NO 0
Any loader rununits that are bound against the DDLDCLOD area you are trying to vary must first be varied offline. In the example above the SYSDICT.DDLDCLOD and the default dictionary DDLDCLOD area (DICTNAME is blank) have bound rununits.
Use the following commands to vary the LOADER rununits offline
DCMT V RU LOADER OFF
DCMT V RU LOADER DICT SYSDICT OFF
After varying the loader unit offline, any pending varies for the area should complete.
To restart the loader rununits issue the command:
DCMT V RU LOADER ON DCMT V RU LOADER DICT SYSDICT ON