IMS Version 9

MODIFY IRLMPROC

The MODIFY (F) irlmproc commands are used to display the status of an IRLM and abnormally terminate an IRLM.

These commands can be issued only from a z/OS console.

F irlmproc,ABEND

Format

Read syntax diagramSkip visual syntax diagram>>-F irlmproc,ABEND--+---------+-------------------------------><
                     '-,NODUMP-'

Usage

The MODIFY irlmproc,ABEND command is used to abnormally terminate IRLM whether or not any IMS subsystems are identified to IRLM.

The irlmproc identifies the procedure name of the IRLM to be terminated. Prior to terminating, IRLM initiates all active IMS STATUS exit routines to inform them of the pending termination.

If the NODUMP parameter is specified, IRLM terminates without generating a dump. If the NODUMP parameter is not specified, the system dump is taken to the SYS1.DUMPxx data set.

Recommendation: If IRLM does not terminate because of outstanding IMS requests in process (the DXR011I irlmproc END-OF-TASK CLEAN-UP SUCCESSFUL message is not received), use the following methods (in this order) to terminate IRLM:

  1. Issue the MODIFY irlmproc,ABEND,NODUMP command to terminate IRLM without attempting to clean up the outstanding IMS requests.
  2. Issue the z/OS CANCEL command.
  3. Issue the z/OS FORCE command. This method is least preferred because it might prevent the irlmproc from completing the cleanup required to permit the subsystem to be restarted.

Examples

Example 1 for F irlmproc,ABEND

z/OS SYSTEM 1 SC:

  F IR21J,ABEND

Response SYSTEM 1 SC: (partial messages)

        DXR124E JR21212 ABENDED VIA MODIFY COMMAND
        DUMPID=001 REQUESTED BY JOB (IR21J   )
        IEA794I SVC DUMP HAS CAPTURED: 857
        DUMP TITLE=JR21 ESTAE ENTERED. ABEND U2020 MODULE DXRRL020+0A98
             APAR PQ15432  1999/007 14:14:03
        IXL030I CONNECTOR STATISTICS FOR LOCK STRUCTURE LOCK2, 860
          CONNECTOR IRLMGRPR$JR21212:
        IXL031I CONNECTOR CLEANUP FOR LOCK STRUCTURE LOCK2, 861
          CONNECTOR IRLMGRPR$JR21212, HAS COMPLETED.
        DXR121I JR21212 END-OF-TASK CLEANUP SUCCESSFUL - HI-CSA    410K  -
        HI-ACCT-CSA      0K
        IEF450I IR21J IR21J - ABEND=S000 U2020 REASON=00000000
        IEF352I ADDRESS SPACE UNAVAILABLE
        $HASP395 IR21J    ENDED

Response SYSTEM 2 SC: (partial messages)

       DXR137I IR21001 GROUP STATUS CHANGED. JR21 212 HAS BEEN DISCONNECTED
       FROM THE DATA SHARING GROUP

Explanation: The operator on system 1 has terminated the procedure named IR21J. The operator on system 2 is informed that the IRLM on system 1 has failed.

Example 2 for F irlmproc,ABEND

z/OS SYSTEM 2 SC:

  F IR21J,ABEND,NODUMP

Response SYSTEM 2 SC: (partial messages)

 DXR165I JR21212 TERMINATED VIA IRLM MODIFY COMMAND.
   IXL030I CONNECTOR STATISTICS FOR LOCK STRUCTURE LOCK2, 976
   CONNECTOR IRLMGRPR$JR21212:
   ....
    IXL020I CLEANUP FOR LOCK STRUCTURE LOCK2, 980
       CONNECTION ID 02, STARTED BY CONNECTOR IRLMGRPR$IR21001
    IXL021I GLOBAL CLEANUP FOR LOCK STRUCTURE LOCK2, 981
       CONNECTION ID 02, BY CONNECTOR IRLMGRPR$IR21001
       HAS COMPLETED.
    DXR121I JR21212 END-OF-TASK CLEANUP SUCCESSFUL - HI-CSA    343K  -
       HI-ACCT-CSA      0K
    IEF352I ADDRESS SPACE UNAVAILABLE
    $HASP395 IR21J    ENDED

Response SYSTEM 1 SC: (partial messages)

DXR137I IR21001 GROUP STATUS CHANGED. JR21 212 HAS BEEN DISCONNECTED
      FROM THE DATA SHARING GROUP

Explanation: The operator on system 2 has terminated the procedure named IR21J and has suppressed the SDUMP dump. The operator on system 1 is informed that the IRLM on system 2 has failed.

F irlmproc,DIAG,HANG

Format

Read syntax diagramSkip visual syntax diagram>>-F irlmproc,DIAG,---HANG-------------------------------------><

Usage

HANG is used under the direction of IBM service for collecting IRLM SYSPLEX dumps when DEADLOCK or TIMEOUT issues are suspected.

This command takes dumps during DEADLOCK processing and causes DEADLOCK processing to STOP while the dynamic deadlock storage is collected. z/OS DUMP services then schedules an SRB to restart DEADLOCK processing. DXR183I is issued by each IRLM as the SRB resumes IRLM deadlock.

If this message is not issued, that IRLM must be terminated and restarted.

Note:
Always start the IRLM SCF CTRACE internally and wait 30 seconds before issuing this command.

F irlmproc,PURGE,imsname

Format

Read syntax diagramSkip visual syntax diagram>>-F irlmproc,PURGE,imsname------------------------------------><

Usage

The MODIFY (F) irlmproc, PURGE,imsname command releases IRLM locks retained for a specific IMS subsystem because of an IMS, IRLM, or system failure. The command causes STATUS exit routines to be activated for each identified IMS. This command is used in the following recovery situations:

Restriction: Ensure the IMS Database Manager is inactive prior to issuing this command. In a DBCTL environment, use the /CHANGE CCTL command when the DBMS is active.

The imsname is the IMS name displayed by the STATUS command.

The irlmproc identifies the procedure name for each IRLM. If multiple IRLMs exist in the same system, each procedure must have a unique procedure name.

Example

Entry z/OS SC:

  F IR21I,PURGE,IMS1

Response SYSTEM 1 SC:

   DXR109I IR21001 PURGE COMMAND COMPLETED FOR IMS1

F irlmproc,SET

Format

Read syntax diagramSkip visual syntax diagram>>-MODIFY--irlmproc,SET-+------------------------------+-------><
                        +-,--CSA=--nnn-----------------+
                        +-,--DEADLOCK=--nnnn-----------+
                        +-,--HASH=--nnn----------------+
                        +-,--LTE=--nnnn----------------+
                        +-,--TIMEOUT=--nnnn--,--ssname-+
                        |            .-10--.           |
                        '-,--TRACE=--+-nnn-+-----------'

Usage

The Modify (F) irlmproc,SET command dynamically alters a limited set of parameters known to IRLM.

irlmproc
Specifies the IRLM that is to process the command.
CSA=nnn
Requests that IRLM dynamically sets the maximum amount of CSA that this IRLM can use for lock control structures. These structures are allocated from ECSA when PC=NO. This command is ignored if PC=YES. Valid values are from 1 through 999 (megabytes). IRLM does not immediately allocate ECSA storage for the new value you set in this command. IRLM allocates storage as needed, not to exceed the amount of ECSA specified in the command. If the amount of storage currently allocated by IRLM is greater than the amount of ECSA you specify in this command, more storage is not obtained until normal processing frees enough storage to bring the current allocation below the new ECSA value you set.
DEADLOCK= nnnn
nnnn
The number in milliseconds to be used for the local deadlock frequency. The value range is 100 - 5000 milliseconds. If a member of a sysplex group and all IRLMs are not enabled for subsecond deadlock processing, DXR106E will be issued.

When the IRLM supporting subsecond deadlock joins a group which has a member which does not support subsecond deadlock, the value range used for the new member joining, is 1 to 5 seconds. All members supporting subsecond processing will issue the DXR177I message after changing the timer value.

Note:
Once IMS TIMEOUT candidates have timed out, they remain timeout candidates and are presented to the timeout exit each Global deadlock cycle. IMS creates SMF 79.15 records when candidates are presented. They are then written to the SMF datasets, if enabled. If timeout candidates are found and the value for nnnn is subsecond, there will be many SMF 79.15 records written per second until the tasks are no longer waiting in IRLM.
HASH=nnnn
Determines the number of LOCK HASH entries to be specified on the next connect to the XCF LOCK structure. Valid values must be an even power of two between 0-1024. Each increment in value represents 1,048,576 hash entries.

Any syntax error in issuing the command will receive DXR106E. Syntax errors include HASH value out-of-range or invalid identified subsystem name. If IRLM is not connected to the group and the value is valid, the DXR177I message will be issued but the value will not be sent to any other member. If the member is already in the group, the value is sent to the Global Deadlock Manager IRLM to be broadcast to all other members. If the GDM does not have the code applied, no DXR177I response will be issued on any member. If the GDM has the code, then all members with the code applied will issue the DXR177I as the command is processed. This value is only used if the IRLM is the first to join the data sharing group causing structure allocation, or during a REBUILD. Any IRLM joining later will not have the updated value. If multiple MODIFY commands are issued, some DXR177I messages may be missing. The last DXR177I issued is the value to be used on the next CONNECT.

The value for the number of LOCK HASH entries specified during normal group startup and during REBUILD are used in the following order:

  1. The value specified on the MODIFY irlmproc,SET,HASH= command if it is greater than 0.
  2. The value from the HASH= in the IRLMPROC if it is greater than 0
  3. The existing logic, which determines the nearest power of 2 after dividing the QUERY size returned by 2 times Hash width based on MAXUSRS.

If an attempt is made to use a nonzero value from either 1 or 2 above and that value is too large for the structure size returned on the QUERY, then the value from the next lower order sequence is used.

LTE=nnnn
nnnn
The number of Lock Table Entries to be specified on the next CONNECT to the XCF LOCK structure. The value range must be 0 - 1024 and be an even power of two. Each increment in value represents 1,048,576 Lock Table Entries.

Any syntax error in issuing the command will receive DXR106E. Syntax errors include LTE value out-of-range. if this IRLM is not connected to the group, and the value is valid, it will issue DXR177I, but the value will not be sent to any other member. If the member is already in the group, the value is sent to the Global Deadlock Manager (GDM) IRLM to be broadcast to all other members. If the GDM does not have the code applied, no DXR177I response will be issued on any member. If the GDM has the code, then all members with the code applied will issue the DXR177I as the command is processed.

This value is only used if the IRLM is the first to join the data-sharing group causing structure allocation or during a REBUILD. If any IRLM joins later, they will not have the updated value. If multiple MODIFY commands are issued on the same or multiple IRLMs, some DXR177I may be missing. The last DXR177I issued is the value to be used on the next CONNECT.

The value for the number of Lock Table Entries specified during normal group startup and during REBUILD are used in the following order:

  1. The value specified on the MODIFY irlmproc,SET,LTE= command if it is greater than zero.
  2. The value from the LTE= in the IRLMPROC if it is greater than zero.
  3. The existing logic, which determines the nearest power of 2 after dividing the QUERY size returned by 2 times LTE width based on MAXUSRS.

If an attempt is made to use a nonzero value from either step 1 or 2 and that value is too large for the structure size returned on the QUERY, then the value from the next lower order sequence is used.

TIMEOUT=nnnn,ssname
nnnn
The new timeout value desired between 1 and 3600 seconds.
ssname
The identified subsystem name as displayed by the MODIFY irlmproc,STATUS command.

Any syntax error in issuing the command will receive DXR106E. Syntax errors include TIMEOUT value out-of-range or invalid identified subsystem name. A syntax error message will also be given if the DXR177I message has not been received for the prior command completion.

The TIMEOUT value must be a multiple of the local deadlock parameter. If the value entered is not an even multiple of the local deadlock parameter, IRLM increases the timeout value to the next highest multiple. The value used by IRLM for timeout is displayed in the DXR177I message, which is issued during deadlock processing. This new value is used until the IRLM or identified subsystem is terminated, or the timeout is changed again by the operator. The value specified on the command does not affect the time out value in the DB2 ZParms.

TRACE=nnn
Requests that IRLM dynamically sets the maximum number of 64KB trace buffers per trace type to the value you specify in nnn. This value is used only when the external CTRACE writer is not activated. The trace buffers are allocated from ECSA. Valid values are from 10 through 255. If you specify a value outside of this range, IRLM automatically adjusts the value to a value within the range. The default is 10. IRLM does not immediately acquire the number of trace buffers you set, but allocates buffers as needed, not to exceed the number of buffers you set in this command. If the number of trace buffers you set is less than the number of currently allocated buffers, IRLM brings the number to within your specified range by releasing the oldest buffers at the end of the next deadlock or timeout cycle.

Restrictions: 

  1. Do not modify the CSA value without first contacting the system programmer to determine the amount of CSA storage that can be used for IRLM.
  2. The values you set in the MODIFY command do not persist through a stop and restart of IRLM. The number of trace buffers for each trace type returns to the default value of 10 and the value for MAXCSA returns to the value you set for the MAXCSA parameter of the IRLM startup procedure.

Examples

Example 1 for F irlmproc,SET

Entry on a z/OS1 system console:

F IRLMPROC,SET,CSA=10

Response on z/OS1 system console:

DXR177I IRLMX THE VALUE FOR MAXCSA IS SET TO 10

Example 2 for F irlmproc,SET

Entry on a z/OS system console:

F IRLMPROC,SET,TRACE=20

Response on system console:

DXR177I IRLMX THE VALUE FOR TRACE IS SET TO 20

Example 3 for F irlmproc,SET

Entry on a z/OS system console:

F IRLMPROC,SET,TIMEOUT=60,DBMS

Response on system console:

DXR177I IRLMX THE VALUE FOR TIMEOUT IS SET TO 60 FOR DBMS

F irlmproc,STATUS

This command is used to display the status of an IRLM.

Format

Read syntax diagramSkip visual syntax diagram                           .-,irlmx-.
>>-MODIFY--irlmproc,STATUS-+--------+--------------------------><
                           +-,ALLD--+
                           +-,ALLI--+
                           +-,MAINT-+
                           +-,STOR--+
                           '-,TRACE-'

Usage

The MODIFY (F) irlmproc,STATUS command is used to display the status of an IRLM.

The irlmproc identifies the IRLM that is to process the command.

irlmx
Specifies which IRLM's status is to be displayed. The irlmx parameter is the concatenation of the IRLM subsystem name (IRLMN) and a three-digit IRLM member ID (IRLMID) specified in the IRLM startup procedure. An example is DB2G002 (ID is 002).
ALLD
Requests the DBMS names and status of subsystems, active or failed, on any IRLM in the data sharing group. This keyword also shows any RETAINED LOCKS the systems might own and the IRLM they are currently associated with.
ALLI
Requests the IRLM names and status for all IRLMs in a data sharing group.
MAINT
Allows the operator to display the IRLM maintenance levels for IRLM load modules, with the exceptions of: DXRRLM50, DXRRL183, DXRRL186, DXRRLFTB, and in a non-sysplex environment DXRRLM70.
STOR
For this IRLM, displays the current and maximum specified allocation for CSA and ECSA storage.
TRACE
For this IRLM, requests information about IRLM subcomponent trace types. The information returned includes whether a subcomponent trace type is active, how many trace buffers are used by the trace, and whether the component trace external writer is active for the trace.

You can activate or deactivate traces by using the TRACE CT command of z/OS. You cannot turn off the EXP and INT traces. The XIT (for data sharing), EXP, and INT traces are automatically activated when you start IRLM. Traces are automatically activated with IRLMPROC TRACE=YES.

Message DXR001I is issued if the irlmx parameter is omitted or specifies the IRLM receiving the command. This multiline message contains work unit and lock information for each IMS identified to this IRLM.

Message DXR001I is also issued if the irlmx parameter is specified, but the IRLM receiving the command has no knowledge of an IRLM with an IRLMID of irlmx.

Message DXR102I is issued if irlmx is specified. This multiline message contains the IMS names and status of each IMS subsystem identified to the IRLM with an IRLMN and IRLMID of irlmx. Message DXR102I is also issued if ALLD is specified. It contains the names and status of each IMS subsystem identified to the IRLM in the data sharing group.

Message DXR103I is issued if ALLI is specified. This multiline message contains the IRLM names and status of all IRLMs in the data sharing group.

Examples

Example 1 for F irlmproc,STATUS

Assume you are in a non-data sharing environment. Enter on the z/OS1 system console:

F IRTPROC,STATUS

Response on z/OS1 system console:

DXR101I IR2T001 STATUS SCOPE=LOCAL
        SUBSYSTEMS IDENTIFIED                PT01
        NAME      STATUS    UNITS     HELD      WAITING     RET_LKS
        DSNT1     UP-NS     0005      0010      0002        0

Explanation: The operator on system 1 has requested information about the IMS systems connected to the IRLM identified by the IRLM procedure named IRTPROC.

Example 2 for F irlmproc,STATUS

Assume you have a data sharing group. Enter on a system console:

F DB1GIRLM,STATUS,ALLD

Response on system console:

  14.02.10 STC00086  DXR102I DJ1G001 STATUS IRLMID=001
          SUBSYSTEMS IDENTIFIED                PT01
          NAME     STATUS    RET_LKS   IRLMID  IRLM_NAME
          DB4G     UP              0    004      DJ4G
          DB3G     UP              0    003      DJ3G
          DB2G     UP              0    002      DJ2G
          DB1G     UP              0    001      DJ1G

Explanation: The output shows all the IMS subsystems that are connected to IRLMs in this data sharing group (the group to which the IRLM processing the request belongs). The value "UP" in the STATUS field indicates that the IMS is active. Other possible values for STATUS include:

DOWN
The IMS is failed.
UP-RO
IMS is active and is currently identified to IRLM as a read-only subsystem.
CLEANUP
IRLM is waiting for the IMS subsystem to respond that cleanup has completed after a failure condition.
SFAIL
The IRLM that IMS is identified to has been disconnected from the data sharing group. Any "modify" type locks held by IMS have been retained by IRLM.

Example 3 for F irlmproc,STATUS

Again, assume data sharing is in effect. Enter the following on the system console:

F DB1GIRLM,STATUS,ALLI

The response on the console is:

  14.03.50 STC00086  DXR103I DJ1G001 STATUS IRLMID=001
          IRLMS PARTICIPATING IN DATA SHARING  PT01
          IRLM_NAME   IRLMID   STATUS
            DJ4G       004       UP
            DJ3G       003       UP
            DJ2G       002       UP
            DJ1G       001       UP

Explanation: The output shows the IRLMs that are participating in this data sharing group (the group that includes the IRLM processing the request). The value "UP" in the STATUS field indicates that the IRLM is active. STATUS shows "DOWN" if the IRLM is failed.

Example 4 for F irlmproc,STATUS

Enter the following command on the system console:

F IR21PROC,STATUS,STOR

The response on the console is:

DXR1001 IR21001 STOR STATS
   PC:NO  MAXCSA:   6M1
CSA USE:ACNT: 132K  AHWM: 132K2 CUR: 4048K HWM: 4086K3
   ABOVE 16M:  72 4033K   BELOW 16M:   6   15K
CLASS  TYPE SEGS  MEM  TYPE SEGS  MEM  TYPE SEGS  MEM
ACCNT  T-1    1   64K  T-2    1   64K  T-3    1    4K4
PROC   WRK   11   58K  SRB    3    3K  OTH    2    2K
MISC   VAR   60 4081K  N-V    6   22K  FIX    1   24K5

Notes:
  1. Displays the current values for the PC and MAXCSA options of the IRLM startup procedure.
  2. Shows storage use of accountable storage; that is, storage that is accountable toward the MAXCSA value of the IRLM procedure. In this output, the current use accountable storage (ACNT) is 132 KB. The high water mark since the last time IRLM was started is also 132 KB.
  3. Shows the total current CSA and ECSA usage. In this case, the current usage is 4048 KB and the high water mark is 4086 KB. The accountable storage is a subset of this total storage.
  4. The ACCNT row of the report is a breakdown of lock control block structures and their storage use.
    T-1
    Type 1 structures are for resources. In this case, it shows that one storage segment is held for a total of 64 KB.
    T-2
    Type 2 structures are for all resource requests after the first request for a specific resource. In this case, it shows that one storage segment is held for a total of 64 KB.
    T-3
    Type 3 structures are for requesters (or work units) that are waiting for resources or are currently holding resources. In this case, it shows that one storage segment is held for a total of 4 KB.
  5. The PROC and MISC rows contain usage information for CSA, ECSA, and private storage used to process DBMS requests. Use this information under the guidance of IBM service for diagnosing problems.

Example 5 for F irlmproc,STATUS

In this example, the response on the console displays a report that is started with PC=YES.

DXR1001 JR21212 STOR STATS
   PC:YES  MAXCSA:N/A
CSA USE:ACNT:   0K  AHWM:   0K CUR: 4362K HWM: 5830K
   ABOVE 16M:  78 4376K   BELOW 16M:  23   32K
CLASS  TYPE SEGS  MEM  TYPE SEGS  MEM  TYPE SEGS  MEM
ACCNT  T-1    1   64K  T-2    1   64K  T-3    1    4K
PROC   WRK   11   58K  SRB   20   20K  OTH    2    2K
MISC   VAR   68 4497K  N-V    6   22K  FIX    1   24K

Because this is an IRLM report that results from specifying PC=YES, the storage used, shown for accountable storage, is that of IRLM private storage used for the IRLM lock control structures.

This example illustrates what can happen when an application generates a high IRLM lock contention rate. Notice that a large amount of storage used is for SRB and below the 16MB line.

Related Reading: For more information about reducing lock contention and on tuning your system, see IBM DATABASE 2 Administration Guide and DB2 for OS/390 Version 5: Data Sharing: Planning and Administration.

Example 6 for F irlmproc,STATUS

When the following command is entered on the system console:

F PR21PROC,STATUS,TRACE

The response on the console is:

 DXR179I PR21034 TRACE USAGE
 TRACE BUFFER STORAGE IN USE:   256KB
 MAXIMUM NUMBER OF TRACE BUFFERS ALLOWED PER TRACE TYPE:  10
 TRACE TYPE   ACTIVE   BUFFERS IN USE   CTRACE WRITER
 ----------   ------   --------------   -------------
    SLM          N            0               N
    XIT          Y            2               N
    XCF          N            0               N
    DBM          N            0               N
    EXP          Y            1               N
    INT          Y            1               N

The example shows the storage currently allocated for IRLM tracing is 256 KB, the maximum number of trace buffers allowed per trace type is set to 10, and the external CTRACE writer is not active. The trace size for each buffer is 64 KB. You can change the maximum number of trace buffers that can be used by issuing the following command: MODIFY irlmproc,SET,TRACE=nnn.

Related Reading: For more information about trace types, see TRACE CT

Go to the previous page Go to the next page

IBM Confidential

Downloads | Library | Support | Support Policy | Terms of use | Feedback
Copyright: IBM Corporation 1974, 2004 Copyright IBM Corporation 1974, 2004  timestamp Last updated: March, 2004