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--+---------+------------------------------->< '-,NODUMP-'
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:
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.
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-------------------------------------><
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.
>>-F irlmproc,PURGE,imsname------------------------------------><
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.
Entry z/OS SC:
F IR21I,PURGE,IMS1
Response SYSTEM 1 SC:
DXR109I IR21001 PURGE COMMAND COMPLETED FOR IMS1
>>-MODIFY--irlmproc,SET-+------------------------------+------->< +-,--CSA=--nnn-----------------+ +-,--DEADLOCK=--nnnn-----------+ +-,--HASH=--nnn----------------+ +-,--LTE=--nnnn----------------+ +-,--TIMEOUT=--nnnn--,--ssname-+ | .-10--. | '-,--TRACE=--+-nnn-+-----------'
The Modify (F) irlmproc,SET command dynamically alters a limited set of parameters known to IRLM.
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.
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:
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.
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:
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.
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.
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
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
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
This command is used to display the status of an IRLM.
.-,irlmx-. >>-MODIFY--irlmproc,STATUS-+--------+-------------------------->< +-,ALLD--+ +-,ALLI--+ +-,MAINT-+ +-,STOR--+ '-,TRACE-'
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.
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.
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.
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:
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.
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
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.
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