SQL PA Batch JCL
You can use this sample JCL for batch processing of your SQL PA job.
The sample JCL in the following figure shows the allocations necessary to run Db2 SQL Performance Analyzer under a sample user ID of TDT690. It includes an optional first step that deletes information left after a previous run.
This sample JCL is not intended to be used with generic IDs. To use generic IDs in batch, use the BATCH command to generate the JCL. If generic IDs are used incorrectly in batch, the IDs might not be properly freed in the REGISTRY. See Resetting the Db2 SQL Performance Analyzer REGISTRY if no more generic IDs are available.
//JOBNAME JOB (ACCTG),'SQL PA 520',CLASS=E,MSGCLASS=X,NOTIFY=USERID
//**********************************************************************
//* S Q L P A - - S Q L P E F O R M A N C E A N A L Y Z E R *
//**********************************************************************
//*
//* PROGRAM PROPERTY OF IBM CORPORATION PRODUCT NUMBER 5697-W51
//* (C) COPYRIGHT 2000-2015 BY IBM (C) 1993-2005 BY IMSI
//* SQL PA IS AN IBM LICENSED PROGRAM ALL RIGHTS RESERVED WORLDWIDE
//*
//* ALL Db2 RELEASES USE PROGRAM 'ANLSQLPA'
//*
//**********************************************************************
//* STEP 0: DELETE THE PREVIOUS RUN'S PERMANENT REPORTS, IF NECESSARY
//*
//ANLSTEP0 EXEC PGM=IEFBR14
//GOAWAY1 DD DSN=&SYSUID..ANLREP.RPT,DISP=(MOD,DELETE),
// SPACE=(TRK,(1,1),RLSE)
//GOAWAY2 DD DSN=&SYSUID..QTRACE.RPT,DISP=(MOD,DELETE),
// SPACE=(TRK,(1,1),RLSE)
//GOAWAY3 DD DSN=&SYSUID..QLIMIT.RPT,DISP=(MOD,DELETE),
// SPACE=(TRK,(1,1),RLSE)
//GOAWAY4 DD DSN=&SYSUID..ANLOUT.RPT,DISP=(MOD,DELETE),
// SPACE=(TRK,(1,1),RLSE)
//*
//**********************************************************************
//*
//ANLSTEP1 EXEC PGM=ANLSQLPA,REGION=0M
//*
//STEPLIB DD DSN=SYSX.ANL520.SANLLOAD,DISP=SHR SQL PA
// DD DSN=SYS1.CEE.SCEERUN,DISP=SHR LE
// DD DSN=SYS1.DSN###.SDSNLOAD,DISP=SHR Db2
//*
//*SNTRACE DD SYSOUT=* TRACE
//*
//ANLCNTL DD DSN=SYSX.ANL520.SANLPARM(SSIDCNTL),DISP=SHR
//ANLPARM DD DSN=SYSX.ANL520.SANLPARM(SSIDPARM),DISP=SHR
//*******
//ANLWORK DD DSN=&&ANLWORK,DISP=(,DELETE,DELETE),
// SPACE=(CYL,(5,1),RLSE),DCB=(LRECL=80,RECFM=FB,BLKSIZE=4000)
//*******
//ANLIN DD DSN=SYSX.ANL520.SANLSQL(ANLSTEST),DISP=SHR
//*******
//ANLOUT DD DSN=&SYSUID..ANLOUT.RPT,DISP=(,CATLG,DELETE),
// SPACE=(CYL,(1,1),RLSE),DCB=(LRECL=80,RECFM=FB,BLKSIZE=9040)
//*
//SYSPRINT DD SYSOUT=*,DCB=LRECL=133
//ANLPRINT DD SYSOUT=*,DCB=LRECL=133
//*
//**********************************************************************
//* ANLREP IS THE EXPLAIN REPORT: YOU MAY WISH TO NAME IT SO THAT
//* YOU CAN RECOGNIZE WHICH INPUT SQL PRODUCED THIS PARTICULAR REPORT.
//*
//* QTRACE IS THE DETAILED TRACE REPORT: WRITTEN WHEN "ALL" REPORTS
//* ARE REQUESTED. CONTAINS A MORE DETAILED EXECUTION FORECAST.
//*
//* QLIMIT IS THE QUERY LIMITS REPORT: IT CONTAINS A FLAG FOR EACH
//* LIMIT EXCEEDED, PLUS COST VALUES, ONE LINE PER QUERYNO.
//*
//**********************************************************************
//*
//ANLREP DD DSN=&SYSUID..ANLREP.RPT,DISP=(,CATLG,DELETE),
// SPACE=(CYL,(1,1),RLSE),DCB=(LRECL=132,RECFM=FB,BLKSIZE=23760)
//QTRACE DD DSN=&SYSUID..QTRACE.RPT,DISP=(,CATLG,DELETE),
// SPACE=(CYL,(1,1),RLSE),DCB=(LRECL=120,RECFM=FB,BLKSIZE=23520)
//QLIMIT DD DSN=&SYSUID..QLIMIT.RPT,DISP=(,CATLG,DELETE),
// SPACE=(TRK,(1,1),RLSE),DCB=(LRECL=120,RECFM=FB,BLKSIZE=23520)
//*