MONITOR SWAP statement


The MONITOR SWAP Statement Syntax is as follows: 

MONITOR

TYPE=SWAP


,ALLOWPAV={NO|YES}


,ALLOWZHPF={NO|YES}


,CANCELPROT={YES|NO}



,DYNMON={NO|YES}



,LOGMESS={YES|NO}


,MAXTASKS={100|nnn}


,PAGE={DRAIN|NO}


,PRINT=ALL


,SRVCLASS={NULL|classname|HIGHEST>}



MONITOR SWAP statement

This statement initiates an FDRPAS MONITOR task that monitors for FDRPAS SWAP tasks beginning a SWAP, SWAPDUMP, or SIMSWAPMON operation. It must be the first statement in the input; only one MONITOR statement is allowed per execution.

For Large Scale Swaps, it is expected that the monitor jobstreams will be embedded in the PASJOB DD statement of the SIMSWAPMON and SWAPDUMP jobs, so that the SIMSWAPMON and SWAPDUMP jobs will submit the jobstreams as just-in-time monitors.

A MONITOR TYPE=SWAP statement that specifies DYNMON=NO must be followed by one or more MOUNT statement to identify the offline devices to be monitored. A MONITOR TYPE=SWAP statement that specifies DYNMON=YES can specify MOUNT statements, but they are not required. A MONITOR task must be executed on every system (other than the SWAP task) that is involved in the swap of an online volume to one of those offline volumes; however, the MONITOR task does not actually participate on the system where the SWAP task is running. If the target device is not offline on an LPAR that a MONITOR task is running, special checking is done by the monitor to ensure that this device is the same target device as specified by the main FDRPAS process and that the device is inactive on the LPAR this monitor is running on. If so, then this volume is varied offline on by this MONITOR task; otherwise, it is left online and fails the operation.

If a MONITOR task with DYNMON=NO is monitoring only one offline device (as specified by the following MOUNT statement), then all monitoring is done by the SWAP task; no external or internal tasks are started. Also, FDRPAS does not add SWAPUNITs dynamically. In addition, if any unit is specified, the MONITOR task terminates after the SWAP or SIMSWAPMON completes.

If the MOUNT statement specifies more than one offline device, then this MONITOR task monitors all of those devices, but if it detects that a swap may be beginning on one of them, it starts an internal subtask or external started task to participate in the swap.

If MAXTASKS= is specified (or defaulted to 100), then up to “nnn” active swaps are processed as internal subtasks. If the number of monitored devices actively participating in swaps exceeds the value specified or defaulted for MAXTASKS=, the additional monitor functions are processed as external started tasks. FDRPAS uses the IBM ASCRE function to create a new started task address space for each MONITOR task, invoking the PASPROC cataloged procedure (see “FDRPAS and FDRERASE Options (Panel A.I.4.14)”).

Since these external MONITOR tasks are separate address spaces, they count against the maximum number of address spaces allowed by the MAXUSER= parameter in the IEASYSxx PARMLIB member used during the IPL of your z/OS system. If a large number of such external MONITOR tasks are started, some may fail if MAXUSER is exceeded, and it may affect the ability to start other tasks or users.

One or more MONITOR tasks can be submitted by the SWAP task using the PASJOB DD statement.

MONITOR SWAP statement operands

TYPE=

Must be specified on the MONITOR statement.

SWAP

Initiates a MONITOR task that monitors offline volumes for a swap operation initiated by a SWAP task.

ALLOWPAV=

APV=

The ALLOWPAV= operand controls the status of the Parallel Access Volume (PAV) aliases during the swap operation. This operand specifies whether the Parallel Access Volume (PAV) aliases for the source volume are disabled at the start of the swap operation or at the time when the actual swap of the volume occurs. (The PAV aliases for the target volume are always disabled at the start of the SWAP/SWAPDUMP operation.)

NO

Indicates that the Parallel Access Volume (PAV) aliases for the source volume are disabled at the start of the swap operation and enabled after the swap operation completes.

YES

Indicates that the Parallel Access Volume (PAV) aliases for the source volume stay enabled during the initial copy phase and are disabled during the time the actual swap of the volume occurs. This reduces the amount of time that PAV aliases are not available.

Default: NO.

ALLOWPAV=YES is strongly recommended for Large Scale Swaps. Since the operation is likely to run for a long time (days), it is important to continue to use facilities that enhance performance.

ALLOWPAV=YES needs to be specified on all of the SWAP/SWAPDUMP and MONITOR tasks that you wish to leave PAV active.

ALLOWZHPF=

NO

At the beginning of a SWAP/SWAPDUMP, FDRPAS temporarily disables zHPF only on the source volume(s) being swapped; FDRPAS turns zHPF back on at the end of the SWAP.

YES

FDRPAS allows zHPF Transport Control Word (TCW) commands and does not disable zHPF for the SWAP/SWAPDUMP process.

Default: NO.

ALLOWZHPF=YES is strongly recommended for Large Scale Swaps. Since the operation is likely to run for a long time (days), it is important to continue to use facilities that enhance performance.

ALLOWZHPF=YES needs to be specified on all of the SWAP/SWAPDUMP and MONITOR tasks that you wish to leave zHPF active.

CANCELPROT=

CP=

NO

A CANCEL(C) command causes immediate termination of the MONITOR task.

YES

FDRPAS protects this MONITOR task against accidental cancellation. If a CANCEL(C) command is issued, it is treated like a STOP(P) command. Message FDR267 is issued and the task lets active swaps complete before terminating. You can issue a second CANCEL(C) command to force immediate termination.

Default: YES.

DURATION=

nnnn

Specifies the number of idle minutes that the MONITOR task execute; it does not include time that the MONITOR task is actively participating in a swap. The MONITOR task automatically terminates when it has been idle for a total of this many minutes.

When the jobstream for the monitor is embedded in the PASJOB DD statement of the SIMSWAPMON or SWAPDUMP job, so that the monitor is submitted as a just-in-time monitor, SIMSWAPMON or SWAPDUMP internally changes DURATION= to STOPINAC=. STOPINAC= has two additional features:

  • The DURATION is reset to the original value at the beginning of each cycle. If this were not done, the pauses between cycles could accumulate to reach the DURATION value, causing the monitor to terminate prematurely.
  • When the SIMSWAPMON or SWAPDUMP operation completes, the monitor stops immediately, instead of waiting for the DURATION period. This is particularly helpful at the end of a SIMSWAPMON, if you want to start the actual SWAPDUMP right away.

Default: The MONITOR task executes until it is terminated by a console STOP(P) command, canceled, or until all devices that it is monitoring have been swapped or are online (unless DYNMON=YES is coded).

  • Specify DURATION=2 for Large Scale Swaps with KEEPACTIVE=REPEAT.
  • Contact BMC Support before using the DURATION= operand to ensure the correct usage of this operand.

DYNMON=

In a GRS complex or MIM complex environment, FDRPAS MONITOR tasks dynamically add target units that are not in the list regardless of what is specified for the DYNMON= keyword. This keyword specifies how this MONITOR task behaves.

NO

One or more MOUNT control statements must be coded. The MONITOR task terminates once all the devices being monitored have been swapped and are online.

YES

MOUNT control statements are not required (but can be specified) and any devices not in the list are added to the MONITOR task dynamically. The MONITOR task only terminates automatically by control of the DURATION= operand or by the STOP(P) command.

Default: NO.

Do not specify DYNMON= on Large Scale Swap operations.

Dynamic monitors are not recommended for Large Scale Swaps with KEEPACTIVE=REPEAT. It is expected that SWAPDUMP is set up with just-in-time monitors. With just-in-time monitors, templates for the monitor jobstreams are embedded in the PASJOB DD statement of the SIMSWAPMON and SWAPDUMP jobs; the SIMSWAPMON and SWAPDUMP jobs generate the MOUNT statements for the monitor jobs and submit the monitor jobs via the internal reader.

DYNMON=YES cannot be specified for on the MONITOR control statement when SWAP TYPE=TRANSIT is used.

LARGESWAP=

nnnnn

Specifies a value slightly larger than the number of volumes being swapped, from 2000 to 16000. The purpose of this operand is to reduce the below-the-line CSA requirements. This operand should only be used on a SWAP or SWAPDUMP of more than 2000 volumes. For example, for 5000 volumes, specify LARGESWAP=6000. When LARGESWAP= specifies a value larger than the number of volumes being swapped, the requirement for below-the-line CSA is no more than 400 KB.

  • LARGESWAP= needs to be specified on all of the SWAP and MONITOR tasks running in the same time period.
  • This option should only be used with Large Scale Swaps specifying KEEPACTIVE=REPEAT, CONFIRMSPLIT=, or CONFIRMSWAP=.

LOGMESS=

LM=

NO

No SYSLOG/console messages are written.

YES

Messages are written to SYSLOG (and usually to an operator console) documenting that the swap is occurring, and has completed.

Default: YES.

Specify LOGMESS=NO for Large Scale Swaps. When the SWAPDUMP specifies KEEPACTIVE=REPEAT, and a large number of volumes are involved, the console messages generated by the default of LOGMESS=YES are liable to be excessive on cycles after the initial copy cycle.

MAXTASKS=

MT=

nnn

Specifies the number of internal MONITOR subtasks (0-100) that FDRPAS starts within this address space. If more than these number of volumes are being swapped at one time, the additional MONITOR tasks are started as external started tasks. External subtasks require that the PASPROC cataloged procedure be installed and customized. See the additional explanation above.

Default: 100. Do not override this default unless you receive errors such as insufficient storage errors (80A or 878 ABENDs); this is unlikely to occur.

PAGE=

DRAIN

Allows swapping a volume that contains an active local page data set. This keyword instructs FDRPAS to internally issue z/OS PAGEDEL and PAGEADD commands.

NO

Attempts to SWAP a volume that contains an active local page data set result in an FDR234 error message with REASON=P.

Default: NO.

PRINT=

ALL

Requests additional printout from the MONITOR task, including a detailed list of the tracks updated in each phase.

Tip

PRINT=ALL is intended for diagnostic purposes. Do not specify PRINT=ALL unless requested by BMC Compuware.

SRVCLASS=

Allows you to override the service class assigned to the SWAP job by Workload Manager (WLM).

classname

The desired service class.

HIGHEST>

(Note the 8th character is a “greater than” sign.) Set the service class to the same class as the address space with the highest dispatching priority in the system that is X'F8' (248) or less, and that has a single performance period.

NULL

Do not change the service class assigned by WLM.

If SRVCLASS= is not specified, the default for MONITOR is as follows:

  • If the service class assigned by WLM gives a dispatching priority of X'F0'(240) or higher, MONITOR does not change it.
  • If the service class assigned by WLM gives a dispatching priority lower than X'F0' (240):

• Set the service class to PRDBATHI.

• If class PRDBATHI is not defined, take the action described for SRVCLASS=HIGHEST>.

SRVCLASS=SYSTEM is invalid, because FDRPAS is not eligible to be reset into the SYSTEM service class. However, SRVCLASS=SYSSTC is valid.

Default: The default for MONITOR is to not change the service class assigned by WLM, if the service class gives a dispatching priority of X'F0' (240) or higher. If the dispatching priority is less than that, the default is to set the service class to PRDBATHI. If class PRDBATHI is not defined, the default is HIGHEST>.

SWAPDELAY=

SWD=

nnn

Specifies the number of seconds (1-255) that FDRPAS waits between scans of the offline devices it is monitoring to see if an FDRPAS SWAP task has selected one of them as a swap target. The value specified 1/3 or less of the value specified for SWAPDELAY= on the SWAP statement in the SWAP task.

Default: 5 seconds (the default on the SWAP statement is 15 seconds). The default should be adequate unless you have a large number of systems participating in the swap process.

Do not specify SWAPDELAY= for Large Scale Swaps unless recommended by INNOVATION.

SWAPID=

nnn

Three character identification to relate the MONITOR to the SWAP/SWAPDUMP job.

This operand is required (except under GENSWAP) when more than one SWAPDUMP or SIMSWAPMON job using just in time monitors is to run at the same time. (It is expected that remote SWAPDUMP operations are not under GENSWAP and always use just in time monitors.) FDRPAS uses the SWAPID value to relate each SWAPDUMP or SIMSWAPMON job to its associated monitors. Without SWAPID, a SWAPDUMP or SIMSWAPMON job does not submit a just in time monitor to an LPAR where a monitor is already running. With SWAPID, the SWAPDUMP or SIMSWAPMON job submits the just in time monitor to an LPAR unless a monitor with a matching SWAPID is already running there.

When the jobstream for the monitor is embedded in the PASJOB DD statement of the SWAPDUMP or SIMSWAPMON job, so that the monitor is submitted as a just-in-time monitor, SWAPDUMP or SIMSWAPMON internally replaces the &&& in the SWAPID= operand on the MONITOR TYPE=SWAP statement with the SWAPID value specified for the SWAPDUMP or SIMSWAPMON job. This ensures that the SWAPID values will match. Although it is acceptable to code a number for the SWAPID= operand on the monitor, it is not recommended. Specifying ampersands avoids possible errors and allows you to use the same MONITOR statement for all of the monitors in a migration.

A single ampersand (SWAPID=&) is sufficient unless the SWAPID value for the SWAPDUMP or SIMSWAPMON job is higher than 9. Two ampersands (SWAPID=&&) are sufficient unless the SWAPID value for the SWAPDUMP or SIMSWAPMON job is higher than 99.

Default: None. SWAPID is not needed when only one SWAPDUMP or SIMSWAPMON job runs at a time.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*