IAM/PLEX parameters


This topic describes the IAM/PLEX PARMLIB parameters that you can specify for the IAM/PLEX address space. These are IAM/PLEX startup parameters, specified by a PARMLIB mechanism on the IPARMLIB DD statement, the IAM Overrides, and the IAM Global Options Table. For information about IAM overrides for IAM/PLEX, see IAM overrides

IAM/PLEX PARMLIB

The parameters that can be specified for the IAM/PLEX address space are presented below. These parameters are passed to IAM/PLEX via a PARMLIB mechanism, which is specified via the IPARMLIB DD statement. If you use the example IAM/PLEX procedure, then you specify the IAM/PLEX PARMLIB member by using the MBR= operand. Each IAM/PLEX instance must have its own PARMLIB member to specify a unique RLSID and the RLSGROUP to which the IAM/PLEX instance belongs.

The PARMLIB is read to establish the parameter settings during IAM/PLEX initialization. Also, you can issue the CHANGEPARM command, which causes an active IAM/PLEX address space to reread the PARMLIB member and immediately updates many of the values. For more details about changing parameter values see the following table.

The PARMLIB data set must be an 80-column card image data set, with parameters and values coded in columns 1 through 71. Each card image can contain a single parameter with its values. You can specify multiple parameters on a single card, but must be separated by a comma without spaces.

You can include cards, indicated by an asterisk (*) in the first column of the card. PARMLIB examples are provided in the IAMSAMP.

IAM/PLEX parameters

Parameter

Description

CICSJOURNAL=

Specifies whether IAM should journal the before images for updates performed by CICS transactions.

The valid values are YES and NO. The default value is NO, because CICS normally handles transaction backout and before image journaling itself. If you are using record lock recovery, the default value is YES.

CICSLOCK=

Specifies the action that IAM/PLEX should take when record lock contention is encountered in a CICS transaction

Use one of the following keywords to specify what action IAM/PLEX should take when the owner of the record lock is a CICS transaction:

  • CICSWAIT—Specifies that the requestor of the lock should wait until the record lock is available
  • CICSTIMEOUT—Specifies that the requestor of the lock should wait for a short time as specified by the CICSTIMEOUT parameter. If the lock is still not available, then the request fails.
  • CICSNOWAIT—Specifies that the request for the record lock fails

Use one of the following keywords to specify what action IAM/PLEX should take when the owner of the record lock is not a CICS transaction (for example, a batch job or TSO user):

  • WAIT—Specifies that the requestor of the lock should wait until the record lock is available
  • TIMEOUT—Specifies that the requestor of the lock waits for a short time as specified by the CICSTIMEOUT parameter. If the lock is still not available, then the request fails.
  • NOWAIT—Specifies that the request for the record lock should immediately fail

Use one of the following keywords to specify whether IAM should fail the CICS transaction with an abend, or just fail the request by following standard VSAM protocol with a logical error code:

  • ABEND—Specifies that the CICS transaction should abend. For more information, see Abending CICS transactions.
  • NOABEND—Specifies that IAM should fail the request with a logical error code

The default values are CICSLOCK=(CICSWAIT,TIMEOUT,NOABEND).

CICSTIMEOUT=

Specifies the maximum time, in seconds, that a CICS transaction should wait for a record lock if CICSTIMEOUT or TIMEOUT has been specified for the CICSLOCK parameter

By default, the minimum value is 30 seconds and the maximum value is 9,999 seconds.

DJB=

Enables you to control Dynamic Job Backout

Valid values are as follows:

  • YES—Specifies that Dynamic Job Backout be automatically invoked for any job steps that abend, with recoverable IAM files accessible through IAM/PLEX
    Changes made to recoverable IAM files for the abending job step are removed from the affected files, back to either the most recent batch sync point taken by the job step, or if no sync points were taken, then to the beginning of the job step.
  • NO—Specifies that Dynamic Job Backout is not be automatically invoked, unless the failing job step has opened a recoverable IAM file through IAM/PLEX with the DJB=YES IAM override
  • DISABLED—Specifies that Dynamic Job Backout support be disabled and not invoked even with a DJB=YES IAM override

JRNBUFF=

(Optional) Specifies the number of buffers that IAM/PLEX should use for journaling. Valid values are from 32 through 255. Low activity systems can use fewer buffers, while more active systems benefit from additional buffers.

The default value is 32.

KEEPALIVE=

Specifies whether IAM/PLEX should locate batch jobs that are running under the BMC Application Restart Control for VSAM (ARC) product and suspend or resume the batch jobs when IAM/PLEX is quiesced

Valid values are YES and NO.

IAM/PLEX pauses any ARC-enabled batch jobs accessing IAM files being processed by the IAM/PLEX address space. At the next checkpoint, the ARC-enabled batch job suspends processing, closes IAM files, and releases allocated resources.

When the IAM/PLEX address space is restarted, the previously suspended ARC-enabled batch jobs is resumed by using the PROCEED command.

The default is NO.

LOCK=

Specifies the action that IAM/PLEX should take when record lock contention is encountered for a requestor other than a CICS transaction, such as a batch job or TSO user. Three sub-parameters can be provided. 

Use one of the following keywords to specify what action IAM/PLEX should take when the owner of the record lock is a CICS transaction:

  • CICSWAIT—Specifies that the requestor of the lock should wait until the record lock is available
  • CICSTIMEOUT—Specifies that the requestor of the lock should wait for a short time as specified by the LOCKTIMEOUT. If the lock is still not available, then the request fails.
  • CICSNOWAIT—Specifies that the request for the record lock should fail

Use one of the following keywords to specify what action IAM/PLEX should take when the owner of the record lock is not a CICS transaction (for example, a batch job or TSO user):

  • WAIT—Specifies that the requestor of the lock should waits until the record lock is available
  • TIMEOUT—Specifies that the requestor of the lock waits for a short time as specified by the LOCKTIMEOUT parameter. If the lock is still not available, then the request fails.
  • NOWAIT—Specifies that the request for the record lock immediately should fail

Use one of the following keywords that indicate whether IAM should fail the requestor with an ABEND, or just fail the request by following standard VSAM protocol with a logical error code:

  • ABEND—Specifies that the batch job or TSO user should abend. The abend code is U0185.
  • NOABEND—Specifies that IAM should fail the request with a logical error code

The default values are LOCK=(CICSWAIT,TIMEOUT,NOABEND).

LOCKCHKPT=

Specifies the number of minutes between checkpoints on the lock recovery data set. The valid values are from 1 through 60. For information about this parameter, see IAM-PLEX-record-lock-recovery.

The default value is 5.

LOCKMEM=

Specifies the type of storage used for the record lock table.

The valid values are as follows:

64-BIT—Specifies that 64-bit storage should be used for the record lock table. You might need to specify a MEMLIMIT on the EXEC statement in the IAM/PLEX procedure at startup. If no 64-bit storage is available, then IAM/PLEX uses 31-bit storage for the record lock table by default.

31-BIT—Specifies that 31-bit storage should be used for the record lock table. This is the default value if no LOCKMEM parameter is provided or if no 64-bit addressable storage is available.

LOCKSTART=

Specifies the type of start to be performed for the Lock Recovery Process

The valid values are are as follows:

  • COLD—Results in no attempt to restore the record locks and forces the reformatting of the lock recovery data set.
  • WARM(Default) Restores the record lock environment for recoverable files to what it had been at the time when the IAM/PLEX region became unavailable.

LOCKTIMEOUT=

Specifies the time, in seconds, that a batch job or TSO user should wait for a record lock to become available if the CICSTIMEOUT or TIMEOUT or both values are specified for the LOCK= parameter.

The default value is 30. The maximum is 9,999.

LOGSTRM=

Specifies the name of the IAM log stream to be used for journaling when the System Logger is used

This value must match the logstream name defined by IXCMIAPU. This value is used only if the SYSLOGGER=YES parameter has been specified. In single system mode, the default value is IAMLOGR.sysname, where sysname is the value provided at IPL time in the IEASYSxx member for SYSNAME.

In SYSPLEX mode the default value is IAMLOGR.groupName, where groupName is the eight-character-RLSGROUP name provided in the PARMLIB member when the IAM/PLEX address space starts. Using the System Logger is required when using journaling with IAM/PLEX.

MAXBUFNO=

Specifies a value to be used as the default MAXBUFNO for IAM files opened under IAM/PLEX

The default is the normal IAM default from the IAM Global Options Table. Valid values are from 1 through 2,048. You can override this value for specific files by using IAMACCESS override cards that have been included with IAM/PLEX. If this value is changed when the CHANGEPARM command rereads the parameters, it takes effect for data sets opened after the change. Currently opened data sets do not change their MAXBUFNO value.

MAXIOTASK=

Specifies the maximum number of file I/O tasks to be permitted. This represents the maximum number of concurrent I/O requests that the IAM/PLEX address space actively processes at any one time. Additional I/O requests are delayed pending availability of an I/O task to process.

You can specify the values from 8 through 255. The default value is 64.

MAXJOBS=

Specifies the maximum number of jobs that can have IAM files opened under the IAM/PLEX address space. This is primarily used for setting up the record locking tables. Specifying a smaller value might cause increased overhead for the IAM lock manager if the actual number of jobs exceeds this limit.

You can specify the values from 1 through 9,999,999. The default value is 1,024. Changing this value takes effect only when IAM/PLEX restarts.

MAXLOCKS=

Specifies the approximate maximum number of record locks that are anticipated to be needed at any particular point in time. This value is used to determine the size of the lock lookup hash table. Batch jobs might not exceed holding this number of locks concurrently. Specifying a smaller value might cause increased overhead for the IAM lock manager.

You can specify values from 1 through 67,108,859. When using LOCKMEM=31BIT, the default value is 133,103 and should not exceed 2,129,903. When LOCKMEM=64BIT, the default is 2,129,903. Changing this value only takes effect only when IAM/PLEX is restarted.

MAXTRANS=

Specifies the approximate maximum number of concurrently active transactions that a CICS system can have. Specifying a smaller value might cause increased overhead for the IAM lock manager.

You can specify values from 1 through 9,999,999. The default value is 512. Changing this value through the CHANGEPARM command takes effect for CICS regions that start after the change.

MESSAGES=

Specifies the messages to print to the IAM/PLEX RLSLOGDD file

The valid values are as follows:

  • ALL—Primarily intended for problem diagnosis, because various messages are written indicating many frequent events
  • INFO(Default) Provides a detailed activity log, including when data sets are opened and closed.
  • ERROR—Limits the RLSLOGDD messages only to those issued in error situations. This value can be dynamically changed via operator command. 

MINBUFNO=

Specifies a default minimum number of buffers per IAM file.

Valid values are from 1 through 2,048. The default value is 1, unless otherwise overridden by an IAMOVRID specification. If this value is changed when the parameters are reread by the CHANGEPARM command, it takes effect for data sets opened after the change. Currently opened data sets do not change their MINBUFNO value.

MINIOTASK=

Specifies the minimum, and also starting, number of tasks in the IAM/PLEX address space that are used to process I/O requests.

Valid values are from 1 through 255. The default value is 4, which is recommended with the changes that were made to the IAM/PLEX I/O task dispatching.

PLEXRESTART=

Specifies whether IAM/PLEX should register with z/OS Automatic Restart Manager (ARM). Valid values are YES and NO.

IAM/PLEX registers with ARM with a member name of $IAMxxxxxxxxyyyy, where $IAM is a hard-coded prefix for all IAM/PLEX address spaces, xxxxxxxx is the RLS group name, and yyyy is the RLS ID.

If an unplanned outage occurs (LPAR or IAM/PLEX address space), ARM attempts to automatically restart the IAM/PLEX address space. ARM can restart only started task (STC-type) address spaces. It cannot restart job-type jobs.

If an IAM/PLEX address space fails (abend or cancel with ARMRESTART), ARM restarts the address space on the same LPAR that is was running on when it failed.

If an LPAR fails, ARM attempts to restart the IAM/PLEX address space on a different LPAR by using the ARM Policy associated with IAM member. An ARM override restart LPAR can be specified by using the TOSYSID parameter.

The default is NO.

REMOTERLS

Specifies that this IAM/PLEX instance is a TARGET region only and cannot be connected for routing open/close or I/O requests to other members of an RLSGROUP in the SYSPLEX.

Warning

Important

If an IAM/PLEX instance already exists in the same RLSGROUP that is acting as the router, then the default for the one being started changes to REMOTERLS, by default.

RLSID=

Specifies the four-character identifier for this IAM/PLEX instance. Each IAM/PLEX instance in a SYSPLEX must have its own unique identifier. If not specified, the value from the IAM Global Options Table is used.

RLSGROUP=

Specifies the eight-character identifier for the RLSGROUP to which the IAM/PLEX instance should connect. If not specified, then IAM/PLEX runs in a single system or non-sysplex mode, equivalent to an IAM/RLS instance.

STATS=

When specified as ON, RLSINFO reports are generated automatically every 30 minutes if any statistics have changed during that period. You can always generate the report manually via the operator command. The RLSINFO DD statement must also be present in the IAM/RLS procedure to start the IAM/PLEX address space.

The default value is OFF.

SYSLOGGER=

Specifies whether to use the z/OS System Logger instead of the sequential data sets. This option is required when the RLSGROUP parameter is provided and you want to use journaling in the sysplex environment. For more information about journaling, see IAM-PLEX-Journaling.

Valid values are as followed:

  • YES—All LOGDSNx parameters are ignored. You can also specify the LOGSTRM= parameter, indicating the name of the log stream.
  • NO(Default) The log stream name changes by default to IAMLOGR.systemName in single system mode or to IAMLOGR.rlsGroupName in SYSPLEX mode.

SYSOUT=

(Optional) Specifies the SYSOUT class to be used for printed output directed to the RLSLOGDD. This parameter is ignored if an RLSLOGDD DD card is in the IAM/PLEX started proc. If an RLSLOGDD DD card is not included in the IAM/PLEX proc, then the SYSOUT class specified by this parameter is used. If no value is specified, then the default SYSOUT class (equivalent to SYSOUT=*) for the started task is used. You can spin off the RLSLOGDD SYSOUT with the IAM/PLEX LOGSWITCH command.

TOSYSID=

Specifies that the IAM/PLEX address should restart on the specified LPAR

If an LPAR fails and ARM attempts to restart the IAM/PLEX address space on another LPAR allowed by the ARM policy, this parameter forces the address space to restart on the specified LPAR, regardless of the ARM policy.

VIFSTART=

Specifies that IAMPLEX on this LPAR should start the IAM VSAM Interface (VIF) as the first IAMPLEX startup after system IPL. By using this parameter, you do not need a separate IAMSTART procedure to start the IAM VIF.

Valid values are YES and NO. The default value is YES to prompt IAMPLEX to start the IAM VIF if it is not already active.

Warning

Important

You can also run IAMSTART separately. In this scenario, IAMPLEX does not reinitiate IAM VIF.

Examples of IAM PARMLIB parameters

An example of PARMLIB input for the IAM/PLEX address space follows, with member PLXPRM1 in IAMSAMP:

MINBUFNO=32,MAXBUFNO=300,MAXIOTASK=64,MINIOTASK=4
MESSAGES=INFO
CICSLOCK=(CICSTIMEOUT,TIMEOUT,NOABEND)
LOCK=(CICSWAIT,TIMEOUT,ABEND)
CICSTIMEOUT=10
LOCKTIMEOUT=90
SYSLOGGER=YES
SYSOUT=X
JRNBUFF=128
RLSID=RLS1                   Set RLSID of RLS1 for this IAM/PLEX
RLSGROUP=RLSGRP01       Connect to RLSGROUP: RLSGRP01
LOCKCHKPT=5          Record lock recovery checkpoint 5 minutes
LOCKSTART=WARM              Perform lock recovery on startup
LOCKMEM=64BIT                Use 64-bit storage for record locks
STATS=ON

Abending CICS transactions

If ABEND was specified for the CICSLOCK parameter, then to cause CIC transactions to abend, you must specify CICSLOCK=ABEND and activate the CICS Global User Exit (GLUE) provided by IAM to purge transactions that IAM indicates should be purged. The transaction abends with an AKC3 code. For more information, see IAM-PLEX-CICS-Considerations

IAM overrides

You can specify IAM ACCESS overrides for the IAM/PLEX instance. The overrides can be a member of a card image PDS, such as the IAMSAMP. Some of the IAM ACCESS overrides that might be useful to IAM/PLEX are BUFSPACE, CONSISTENT, JRNAD, MINBUFNO, MAXBUFNO, and REREAD. The IAMCREATE overrides are not relevant to IAM/PLEX because no file creations takes place under the IAM/PLEX instance.

You can use the BUFSPACE, MINBUFNO, or MAXBUFNO overrides on a data-set-by-dat-set basis to use either more or less buffering than the default to under IAM/PLEX. The need to alter the buffering values should be minimal  because the IAM/PLEX MAXBUFNO startup parameter value serves as a default for all IAM/PLEX files opened.

You can use the JRNAD override to enable journaling for all IAM files accessed under IAM/PLEX by providing an ACCESS DD=&ALLDD, JRNAD=BOTH. Make sure to specify JRNAD on any additional ACCESS override cards provided for specific data sets because they do not pick up the value from the &ALLDD override. Using this override is sometimes the best way to control journaling for IAM/PLEX, rather than on an individual file basis. You can turn off the journaling for specific data sets by using an additional ACCESS override that indicates the data set name.

If you are using the IAM overrides with IAM/PLEX, then you must specify the REREAD keyword on each override card. Specifying of REREAD causes IAM to read the IAM overrides every time an IAM file is opened, rather than only for the first data set opened, and saves the results in storage. While this is additional overhead, it means that you can change the overrides without having to stop and restart IAM/PLEX for the new overrides to take effect.

An example of overrides for an IAM/PLEX instance follows:

ACCESS DD=&ALLDD,INDEXSPACE=64BIT,REREAD
ACCESS DD=RLOKJRNL,INDEXSPACE=64BIT,NORLS,JRNAD=NONE,REREAD

 

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

BMC AMI Storage IAM 11.1