Setting up Workload Manager for the asntdiff stored procedure (z/OS®)

To run the asntdiff utility in parallel mode you need to install a stored procedure and define the procedure in a Workload Manager application environment by using the WLM panels.

Before you begin

Ensure that you have the correct authorizations and environment settings. See Running the asntdiff utility in parallel mode (z/OS) for details.

About this task

In a Db2® data-sharing environment, if you want to run multiple asntdiff instances concurrently, create multiple WLM application environments, one for each Db2 subsystem. In this manner, CPU resources across the LPARs within the Db2 data-sharing group are better utilized.

Setting up WLM for the asntdiff stored procedure is one of several steps that are required to run asntdiff in parallel mode. The other steps are as follows:

Procedure

  1. From the Workload Manager main panel, press Enter.
  2. Select option 2 to extract the existing WLM definition, then press Enter.
  3. Specify the current WLM policy name in the Definition name field, then select option 9 to open the Application Environment panel.
  4. Select 1 to create new application environment or 2 to copy from an existing one, then press Enter.
  5. Specify a value for each field. The APPLENV parm in the Start Parameters field must match with the Application Environment name. You use the Procedure Name field to define the procedure in the system PROCLIB.
  6. Save your choices. You will see the newly created Application Environment in the Selection List.
  7. From the MVS™ system console, issue the following command to refresh WLM policy.
    This step activates the newly defined WLM application environment.
    /VARY WLM,POLICY=PolicyName
  8. Issue the following command to validate the application environment status.
    /DISPLAY WLM,APPLENV=ApplEnvName
  9. Create the procedure JCL in the system PROCLIB, then start the PROC. Make sure the STEPLIB points to the correct asntdiff load library.
    //********************************************************************* 
    //* JCL FOR STARTING THE WLM-ESTABLISHED ADDRESS SPACE FOR RUNNING      
    //* ASNTDIFF STORED PROCEDURES.                                         
    //*    APPLENV: THE MVS WLM APPLICATION ENVIRONMENT                     
    //*             SUPPORTED BY THIS JCL PROCEDURE.                        
    //*    DB2SSN : THE Db2 SUBSYSTEM NAME.                                 
    //*    RGN    : THE MVS REGION SIZE FOR THE ADDRESS SPACE.              
    //*    NUMTCB : THE NUMBER OF TCBS USED TO PROCESS END USER REQUESTS.   
    //*             FOR THIS WLM ENVIRONMENT, ALWAYS SPECIFY A NUMTCB OF 1. 
    //*                                                                     
    //* NOTES:                                                              
    //* (1) ALL LIBRARIES IN THE STEPLIB CONCATENATION NEED TO BE APF-      
    //*     AUTHORIZED                                                      
    //* (2) THE SYSIN AND SYSPRINT DD STATEMENTS ARE REQUIRED AND NEED TO   
    //*     BE ALLOCATED TO WORK FILES                                      
    //* (3) THE UTPRINT, RNPRIN01, STPRIN01, AND DSSPRINT DD STATEMENTS ARE 
    //*     ALSO REQUIRED                                                   
    //*                                                                     
    //********************************************************************* 
    //DB2AWLMT PROC APPLENV='ApplEnvName',
    //             DB2SSN=DB2SubSysName,RGN=0K,NUMTCB=10
    //IEFPROC EXEC PGM=DSNX9WLM,REGION=&RGN,TIME=NOLIMIT,
    //             PARM='&DB2SSN,&NUMTCB,&APPLENV'
    //STEPLIB  DD  DISP=SHR,DSN=CEE.SCEERUN
    //         DD  DISP=SHR,DSN=DSN!!0.SDSNEXIT
    //         DD  DISP=SHR,DSN=DSN!!0.SDSNLOAD
    //         DD  DISP=SHR,DSN=ASNQ!!0.SASNLOAD 
  10. Install the ASNTDSP stored procedure.
    For best results, use an application environment with NUMTCB between 8 and 15. replace SP_NAME with your stored procedure name and replace APPL_ENV_NAME with your WLM application environment name. SP_NAME is the parameter value of SOURCE_STORED_PROC and TARGET_STORED_PROC. The default value is ASN.TDIFF.
    CREATE PROCEDURE SP_NAME                        
     ( IN     SELECTSTMT          VARCHAR(32700),   
       IN     GTTNAME             VARCHAR(128),     
       IN     OPTIONS             VARCHAR(1331),    
       IN     COMPARE_MODE        INTEGER,          
       IN     KEY_COLS            VARCHAR(255),     
       OUT    RETURN_BLOCK_CRC    VARCHAR(21),      
       OUT    RETURN_NUM_ROWS     INTEGER,          
       OUT    RETURN_CODE         INTEGER,          
       OUT    RETURN_MESSAGE      VARCHAR(30000))   
     PARAMETER CCSID EBCDIC                         
     EXTERNAL NAME ASNTDSP                          
     LANGUAGE C                                     
     PARAMETER STYLE GENERAL WITH NULLS             
     COLLID ASNTDIFF                                
     WLM ENVIRONMENT APPL_ENV_NAME     
     MODIFIES SQL DATA                              
     ASUTIME NO LIMIT                               
     STAY RESIDENT NO                               
    PROGRAM TYPE MAIN                                     
    SECURITY USER                                         
    RUN OPTIONS 'TRAP(OFF),STACK(,,ANY,),POSIX(ON)'       
    COMMIT ON RETURN NO                                   
    DYNAMIC RESULT SETS 0;
  11. Bind the asntdiff package and plan.
  12. Refresh WLM with one of the following MVS commands:
    VARY WLM,APPLENV=ApplEnvName,REFRESH
    
    VARY WLM,APPLENV=ApplEnvName,QUIESCE
    VARY WLM,APPLENV=ApplEnvName,RESUME    
  13. Run the following JCL to start the ASNTDIFF utility in parallel mode:
    //ASNTDIF1 EXEC PGM=ASNTDIFF,PARM='/-F'
    //STEPLIB  DD DSN=ASNQ!!0.SASNLOAD,DISP=SHR
    //         DD DSN=DSN!!0.SDSNLOAD,DISP=SHR
    //MSGS     DD PATH='/usr/lpp/db2repl_10_01/msg/En_US/db2asn.cat'
    //CEEDUMP  DD  SYSOUT=*
    //SYSPRINT DD  SYSOUT=*
    //SYSUDUMP DD  DUMMY
    //SYSIN    DD   *
     DIFF_DROP=Y
     DIFF=DIF01
     MAXDIFF=10000
    DB2_SUBSYSTEM=DB1A
    SOURCE_SERVER=DB1A
    SOURCE_TABLE="CDL.T0001"
    SOURCE_STORED_PROC="ASN.TDIFF"
    TARGET_SERVER=DB2A
    TARGET_STORED_PROC="ASN.TDIFFT"
    TARGET_TABLE="CDL.TT001"
    PARALLEL=Y
    LIVE=Y
    RETRY_COMPARE_WAIT=5
  14. Check the job output.