START irlmproc (z/OS IRLM)
The START irlmproc command starts an IRLM component with a procedure that is defined by the installation. Symbolic parameters in the procedure can be overridden on the START irlmproc command.
Environment
This command can be issued only from a z/OS® console.
Data sharing scope: Member
Authorization
The command requires an appropriate level of operating system authority.
Syntax
.-,-----------------------------. V | >>-START--irlmproc,---+---------------------------+-+---------->< +-DEADLOK='iiii,kkkk'-------+ +-IRLMGRP='irlm-group-name'-+ +-IRLMID=n------------------+ +-IRLMNM=irlmname-----------+ +-LOCKTABL=irlmltnm---------+ +-LTE=nnnn------------------+ +-MAXCSA=-------------------+ +-MAXUSRS=nnn---------------+ +-PC=-----------------------+ +-PGPROT=-+-YES-+-----------+ | '-NO--' | +-SCOPE=-+-LOCAL----+-------+ | +-GLOBAL---+ | | '-NODISCON-' | '-TRACE=-+-NO--+------------' '-YES-'
Options must be separated by commas, with no spaces.
Option descriptions
- irlmproc
- Specifies the procedure name of the IRLM to be started.
- DEADLOK=' iiii,kkkk '
- Specifies the local deadlock-detection
interval in seconds ( iiii ), and the number
of local cycles ( kkkk ) that are to occur
before a global detection is initiated.
- iiii
- Is a one- to four-digit number. Values between 1 and 5 are interpreted as seconds. Values between 100 and 5000 are interpreted as milliseconds. Depending on the value that you enter, IRLM might substitute a smaller maximum value.
- kkkk
- Is a one- to four-digit number from 1 to 9999 that specifies the number of local deadlock cycles that must expire before global deadlock detection is performed. You can specify any value from 1 to 9999, but IRLM uses 1. The recommended value to specify is 1.
In a data sharing environment, IRLM synchronizes all of the DEADLOK values in the group to the values specified on the most recent IRLM to join the group. The DEADLOK values can be changed by starting a member with the values that you want. To reduce confusion, it is recommended that the installation specify the same value for DEADLOK on all of its IRLM startup procedures and use the START irlmproc command to override this value only when the interval must be increased from its original value.
- IRLMGRP=' irlm-group-name '
- Specifies
the name of the cross system coupling facility (XCF) group, in a data
sharing environment, to which the IRLM belongs as the lock manager
for DBMSs that share the same data. All IRLMs in the same group must
specify the same value for LOCKTABL and unique values for IRLMID.
The group name is used as the XCF group name. The name must not start with 'SYS' and must not be the same name specified for LOCKTABL.
In a non-data-sharing environment (SCOPE=LOCAL), IRLMGRP is ignored.
- IRLMID= n
- Specifies
a decimal number that is used to distinguish between IRLMs in a data
sharing group.
n can be either a one- to three-digit number from 1 to 255, or a printable character in quotation marks. Note that this IRLM ID does not relate directly to the limit of IRLM members that can be in the group. That limit is determined by the current hardware limits (currently 32).
When n is specified as a printable character, IRLM uses the EBCDIC value of the printable character as the IRLMID (such as X'C4'). The printable character must be surrounded by enough single quotes to permit IRLM to see it as a printable character. Because of the way that the operating system interprets quotes, single quotes must be on either side of the characters. For example, if you want to specify the printable character 'D', you must specify it here as IRLMID='D'.
A unique IRLMID must be specified for each IRLM in a group (IRLMs with the same value specified for the IRLMGRP option).
- IRLMNM= irlmname
- Specifies a 4-byte z/OS subsystem name assigned to this IRLM. (Although z/OS can accept names that are less than 4 bytes, IRLM requires a 4-byte name.)
- LOCKTABL= irlmltnm
- Specifies
the lock table to be used by this group. This option is overridden
by DB2®; it is needed in an IMS™ environment.
In a non-data-sharing environment (SCOPE=LOCAL), LOCKTABL is ignored.
- LTE= nnnn
- Specifies
the number of lock table entries that are required in the coupling
facility (CF) lock structure in units of 1048576 entries.
LTE= can have a value of blank, zero,
or any exact power of two up to 2048 (inclusive).
The number of lock
table entries in the group is determined by the first IRLM to connect
to the group during initial structure allocation or during REBUILD.
The LTE value is used in the following order:- The value that is specified using MODIFY irlmproc,SET,LTE= if the value is greater than zero.
- The value from LTE= in the irlmproc if the value is greater than zero.
- The value that is determined by the existing logic, which divides
the XES structure size returned on the IXCQUERY call by two times
LTE width. The result is rounded to the nearest power of two, which
the existing logic uses for the value. Note: The LTE width is determined by the MAXUSRS value.
If IRLM attempts to use a value from MODIFY irlmproc,SET,LTE= that is greater than the available storage in the structure size returned by XES IXCQUERY, the value for the LTE= in the irlmproc is used. If this value is greater than the available storage, IRLM uses the value that is determined by the existing logic.Table 1. Some common values for lock table entries and the required lock table storage For LTE= Lock Table Storage needed for 2-byte entries Lock Table Storage needed for 4-byte entries 8 16 MB 32 MB 16 32 MB 64 MB 32 64 MB 128 MB 64 128 MB 256 MB 128 256 MB 512 MB 256 512 MB 1024 MB - MAXCSA=
- MAXCSA= is a required positional parameter but is currently unused.
- MAXUSRS= nnn
- Specifies
the initial maximum number of members in the data sharing group, set
by the IRLM which results in structure allocation. The specified value
determines the size of each lock entry in the lock table portion of
the lock structure, as shown in the following table.
Table 2. Effect of MAXUSRS on initial size of lock table entry MAXUSRS Initial size of lock entry 7 or less 2 bytes ≥ 8 and < 24 4 bytes ≥ 24 and < 33 8 bytes nnn must be a one- to two-digit number from 1 to 32. The default is 7. The recommended value is 7 or less.
In a non-data-sharing environment (SCOPE=LOCAL), MAXUSRS is ignored.
- PC=
- PC= is a required positional parameter but is currently unused.
- PGPROT=
- Specifies
whether the IRLM load modules that are resident in common storage
are placed in z/OS page-protected
storage.
- YES
- The IRLM load modules that are resident in common storage are placed in z/OS page-protected storage.
- NO
- The IRLM load modules that are resident in common storage are not placed in z/OS page-protected storage.
- SCOPE=
- Specifies
whether the IRLM is to be used in a data sharing environment.
- LOCAL
- Specifies the IRLM is in a non-data-sharing environment and there is no intersystem sharing.
- GLOBAL
- Specifies the IRLM is in a data sharing environment and that intersystem sharing is to be performed.
- NODISCON
- Specifies
that IRLM is in a data sharing environment and that intersystem sharing
is to be performed. IRLM remains connected to the data sharing group
even when no database management systems are identified to it. You
must explicitly stop IRLM to bring it down.
If you specify the NODISCON option, there is less impact on other systems when a DB2 subsystem fails because the operating system is not required to perform certain recovery actions that it normally performs when IRLM comes down. Using the NODISCON option might allow DB2 to restart more quickly after a DB2 subsystem normally or abnormally terminates because it does not have to wait for IRLM to rejoin the IRLM data sharing group.
- TRACE=
- Specifies
whether the IRLM is to capture traces in wrap-around IRLM buffers.
Each buffer is reused when the previous buffer is filled. Traces are
captured at IRLM startup. You should specify TRACE=YES in the irlmproc
to place traces in wrap-around mode.
- NO
- Does not capture traces unless the TRACE CT command is issued.
- YES
- Captures traces in wrap-around buffers.
Examples
Example: This command starts the IRLM with a lock table storage size of 64 MB, assuming a width of 2-bytes for each lock table entry.
S irlmproc,LTE=32
If this value is correct, message DXR132I, which is displayed after successful connection to the lock structure, displays the value used by IRLM. If this value is incorrect, START will terminate with DXR116E CODE=24 and ABENDU2018. This value is only used if SCOPE=GLOBAL or SCOPE=NODISCON and has a default value calculated by IRLM.