Start of change

Job DSNTIJRV

Job DSNTIJRV validates the DB2®-supplied routines by executing program DSNTRVFY. You should validate these routines after DB2 installation and after each phase of migration.

DSNTRVFY validates a single routine, multiple routines, or all DB2-supplied routines. DSNTRVFY produces a report that identifies routines that passed the validation and possible problem areas for routines that failed.

Note: Start of changeDSNTRVFY creates, calls, and drops two temporary stored procedures. These temporary stored procedures are SYSPROC.DSNWLM_INSTALL_INFOJ and SYSPROC.DSNWLM_INSTALL_INFO. Both of these stored procedures exist only when DSNTRVFY is executing. DSNTRVFY calls SYSPROC.DSNWLM_INSTALL_INFOJ to validate the WLM environment that is assigned to each DB2-supplied Java routine. DSNTRVFY calls SYSPROC.DSNWLM_INSTALL_INFO to validate the WLM environment that is assigned to each DB2-supplied non-Java routine that runs in a WLM environment.End of change
Start of change

Authorizations

If the RACF® facility class is active and a profile was defined for MVSADMIN.WLM.POLICY, the user that submits this job requires READ access.

If the RACF OPERCMDS class is active and a profile was defined for MVS™.MCSOPER.*, the user ID that submits this job requires READ access. Alternatively, you can add a discrete profile for the DSNTRVFY console that is used in this job.

End of change

Format

DSNTRVFY accepts the following required parameters:

DB2SSN(ssid)
Identifies which DB2 subsystem to connect to for validating the DB2-supplied routines.
ROUTINE(name)
Identifies which DB2-supplied routine needs to be validated. The following values are supported for name:
  • A routine name in the form of schema-name.routine-specific-name.
  • The keyword DD:SYSIN to specify a list of routines. List the routines in the form of schema-name.routine-specific-name under the SYSIN DD statement with one routine per line.
  • The keyword ALL to specify all DB2-supplied routines.

Start of changeDSNTRVFY also accepts the following optional parameters:End of change

Start of changeAUTHID(authorization ID)End of change
Start of changeDSNTRVFY uses this value as the OWNER for BIND PACKAGE and BIND PLAN statements and as the CURRENT SQLID for issued SQL statements. If this value is not specified, the primary authorization ID is used for BIND PACKAGE, BIND PLAN, and issued SQL statements.End of change

Output

DSNTRVFY allocates the following required DD statements for output:

SYSPRINT
Contains messages generated during verification processing. Each processed routine can generate one or more messages.
SYSTSPRT
DSNTRVFY writes bind output to SYSTSPRT if an error occurs during bind processing.
The following JCL example is for validating a single routine:
//DSNTJVFY EXEC PGM=DSNTRVFY,
//         PARM='DB2SSN(VA1A) ROUTINE(SYSPROC.DSNUTILS)'
//DBRMLIB  DD DSN=DB2A.SDSNDBRM,DISP=SHR
//SYSUT1   DD UNIT=SYSDA,SPACE=(32000,(30,30)),DCB=(RECFM=VB,LRECL=133)
//SYSTSPRT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSIN    DD *
The following JCL example is for validating multiple routines:
//DSNTJVFY EXEC PGM=DSNTRVFY,
//         PARM='DB2SSN(VA1A) ROUTINE(DD:SYSIN)'
//DBRMLIB  DD DSN=DB2A.SDSNDBRM,DISP=SHR
//SYSUT1   DD UNIT=SYSDA,SPACE=(32000,(30,30)),DCB=(RECFM=VB,LRECL=133)
//SYSTSPRT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
  SYSPROC.DSNWZP
  SYSPROC.DSNACCOR
  SYSPROC.DSNUTILS
  SYSPROC.DSNUTILU
The following JCL example is for validating all routines:
 
//DSNTJVFY EXEC PGM=DSNTRVFY,
//         PARM='DB2SSN(VA1A) ROUTINE(ALL) AUTHID(FVTGRP2)'
//DBRMLIB  DD DSN=DB2A.SDSNDBRM,DISP=SHR
//SYSUT1   DD UNIT=SYSDA,SPACE=(32000,(30,30)),DCB=(RECFM=VB,LRECL=133)
//SYSTSPRT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSIN    DD *

Processing

DSNTRVFY completes the following validation:

  • Verifies that the routine is defined to the SYSIBM.SYSROUTINES catalog.
  • Verifies that the collection ID defined in the SYSIBM.SYSROUTINES catalog table matches the collection ID used to bind the package.
  • Verifies that the routine is currently defined with the DB2-reserved WLM application environment name DSNWLM_NOT_ENABLED, indicating that it is not enabled to run on the current DB2 subsystem. If it is, then a warning message is issued and the validation is bypassed.
  • Verifies if the routine can be executed on the current DB2 catalog mode.
  • Verifies the APF authorization requirements.
  • Verifies if the WLM application environment is defined and available for use.
  • Verifies if the NUMTCB setting is valid or within the recommended range.
  • Verifies if the required DD statements for some of the routines are defined.
  • Verifies if the WLM environment assigned to Java routines is enabled for Java.
  • Verifies security coexistence requirements (for example, some routines should run on only their own WLM application environment).
  • Verifies that the selected routine can be called successfully. Certain routines such as DSNACICS, DSNAIMS, MQSeries® functions, and most debugger routines are restricted to basic validation and are not called.
Start of changeDuring the running of this job, the following message might be issued on the system console:
IEFC452I  DB2UDSMD - JOB NOT RUN - JCL ERROR
In most cases, this message is normal and can be disregarded. If you use IBM® Optim™ Development Studio, see Debugging stored procedures on DB2 for z/OS® with Optim Development Studio, Part 2 (IBM developerWorks) for information about DB2UDSMD.End of change

If the validation is successful, the following message is issued:

DSNT027I DSNTRVFY VALIDATION FOR schema.routine-specific-name SUCCESSFUL

If the validation fails, messages are issued to explain the reasons for failure. Examine these messages and make necessary adjustments before running the validation job again.

Input

DSNTRVFY requires the following DD statements for input:

DBRMLIB
Identifies the library where the DBRM for the DSNTRVFY program is located. This is typically the prefix.SDSNDBRM target library.
SYSIN
Contains the list of DB2 routines. This is required when the validation type is for multiple routines (DD:SYSIN).
SYSUT1
Work data set required for bind processing.

Limitations

The following limitations apply to the DSNTRVFY program:

  • The name of the routine in the form schema-name.routine-specific-name is limited to 72 characters, the maximum line length in JCL.
  • Only DB2 10 DB2-supplied routines are supported for validation.
  • Some routines, if enabled, receive basic validation to ensure that they are defined correctly and assigned to a valid WLM application environment. However, validation will not extend to calling these routines for one or more of the following reasons:
    • Optional system support such as CICS®, IMS™, or MQSeries is required.
    • External setup on a remote server or workstation is required.
    • A call could introduce or modify data unexpectedly in a production environment.

    The DB2-supplied routines that are restricted to basic validation are:

    • DB2DEBUG.CREATE_SESSION
    • DB2DEBUG.DESTROY_SESSION
    • DB2DEBUG.GET_REPORT
    • DB2DEBUG.LIST_SESSION
    • DB2DEBUG.PUT_COMMAND
    • SYSFUN.SYSTS_ENCRYPT
    • Start of changeSYSFUN.XSLTRANSFORMEnd of change
    • SYSPROC.ADMIN_COMMAND_UNIX
    • SYSPROC.ADMIN_JOB_CANCEL
    • SYSPROC.ADMIN_JOB_FETCH
    • SYSPROC.ADMIN_JOB_QUERY
    • SYSPROC.ADMIN_JOB_SUBMIT
    • SYSPROC.DBG_ENDSESSIONMANAGER
    • SYSPROC.DBG_INITIALIZECLIENT
    • SYSPROC.DBG_RECVCLIENTREPORTS
    • SYSPROC.DBG_SENDCLIENTREQUESTS
    • SYSPROC.DBG_SENDCLIENTCOMMANDS
    • SYSPROC.DBG_TERMINATECLIENT
    • SYSPROC.DSNACICS
    • SYSPROC.DSNAIMS
    • SYSPROC.DSNAIMS2
    • SYSPROC.DSNLEUSR
    • Start of changeSYSPROC.SYSTS_ALTEREnd of change
    • SYSPROC.SYSTS_CREATE
    • SYSPROC.SYSTS_DROP
    • SYSPROC.SYSTS_RESTORE
    • SYSPROC.SYSTS_START
    • SYSPROC.SYSTS_STOP
    • SYSPROC.SYSTS_TAKEOVER
    • SYSPROC.SYSTS_UPDATE
    • All MQSeries, web services, and SOAP functions (those with schema DB2MQ, DB2MQ1C, DB2MQ2C, or DB2XML)
End of change