Figure 55. DBSPACE Reorg Option 2 (Unload DBSPACE) - Sample Jobstream
* $$ JOB JNM=DBUNLOAD,CLASS=0,DISP=D
* $$ LST PRI=3
// JOB DBUNLOAD MUM UNLOAD DBSPACE TO DISK
// OPTION LOG
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0001 RECORD TIME BEFORE DDL GENERATION
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT
// DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT
// ASSGN SYS005,SYSRDR
// ASSGN SYS011,SYSLST
// EXEC SQB02,SIZE=AUTO
%%SQLDS710 PUBLIC SQMHELP 2NN1
/*
// IF $RC > 0000 THEN
// GOTO $EOJ
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0002 UNLOAD DDL
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT
// DLBL SQMDDL,'L.SQLDS710.PUBLIC.SQMHELP',0,VSAM, X
RECORDS=001000,RECSIZE=80,DISP=(NEW,KEEP),CAT=SQMCAT
// ASSGN SYS005,SYSRDR
// ASSGN SYS011,SYSLST
// EXEC SQB01,SIZE=AUTO
%%SQLDS710 PUBLIC SQMHELP 2 N
/*
// IF $RC > 0000 THEN
// GOTO $EOJ
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0003 UNLOAD DBSPACE
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD
// EXTENT SYS007,'VSEPK3',1,0,0000423488,22000
// ASSGN SYS007,DISK,VOL='VSEPK3',SHR
// EXEC ARIDBS,SIZE=AUTO,PARM='DBNAME(SQLDS710)'
READ MEMBER SQMCONN.C NOCONT
COMMENT '***** UNLOAD DBSPACE "PUBLIC"."SQMHELP" *****'
SET UPDATE STATISTICS OFF;
UNLOAD DBSPACE ("PUBLIC"."SQMHELP")
OUTFILE(SQMDAT1 BLKSZ(02048) PDEV(DASD))
/*
// IF $RC > 0000 THEN
// GOTO $EOJ
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0004 RECORD TIME AFTER UNLOAD
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT
// DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT
// ASSGN SYS005,SYSRDR
// ASSGN SYS011,SYSLST
// EXEC SQB02,SIZE=AUTO
%%SQLDS710 PUBLIC SQMHELP 2NN2
/*
// IF $RC > 0000 THEN
// GOTO $EOJ
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0005 REPRO SAM DATA TO VSAM
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD
// EXTENT SYS007,'VSEPK3',1,0,0000423488,22000
// ASSGN SYS007,DISK,VOL='VSEPK3',SHR
// DLBL SQMDAT,'D.SQLDS710.PUBLIC.SQMHELP',0,VSAM, X
RECORDS=000100,RECSIZE=8240,DISP=(NEW,KEEP),CAT=SQMCAT
// EXEC IDCAMS,SIZE=AUTO
REPRO INFILE(SQMDAT1 -
ENV(RECFM(SB) -
BLKSZ(2048) -
RECSZ(8240))) -
OUTFILE(SQMDAT -
ENV(RECFM(VB) -
BLKSZ(8248) -
RECSZ(8240)))
/*
/&
Figure 56. DBSPACE Reorg Option 3 (Reorganize DBSPACE) - Sample Jobstream
* $$ JOB JNM=DBREORG,CLASS=0,DISP=D
* $$ LST PRI=3
// JOB DBREORG MUM REORG DBSPACE - DISK
// OPTION LOG
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0001 RECORD TIME BEFORE DDL GENERATION
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT
// DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT
// ASSGN SYS005,SYSRDR
// ASSGN SYS011,SYSLST
// EXEC SQB02,SIZE=AUTO
%%SQLDS710 PUBLIC SQMHELP 3NN1
/*
// IF $RC > 0000 THEN
// GOTO $EOJ
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0002 UNLOAD DDL
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT
// DLBL SQMDDL,'L.SQLDS710.PUBLIC.SQMHELP',0,VSAM, X
RECORDS=001000,RECSIZE=80,DISP=(NEW,KEEP),CAT=SQMCAT
// ASSGN SYS005,SYSRDR
// ASSGN SYS011,SYSLST
// EXEC SQB01,SIZE=AUTO
%%SQLDS710 PUBLIC SQMHELP 3NN
/*
// IF $RC > 0000 THEN
// GOTO $EOJ
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0003 UNLOAD DBSPACE
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD
// EXTENT SYS007,'VSEPK3',1,0,0000423488,22000
// ASSGN SYS007,DISK,VOL='VSEPK3',SHR
// EXEC ARIDBS,SIZE=AUTO,PARM='DBNAME(SQLDS710)'
READ MEMBER SQMCONN.C NOCONT
COMMENT '***** UNLOAD DBSPACE "PUBLIC"."SQMHELP" *****'
SET UPDATE STATISTICS OFF;
UNLOAD DBSPACE ("PUBLIC"."SQMHELP")
OUTFILE(SQMDAT1 BLKSZ(02048) PDEV(DASD))
/*
// IF $RC > 0000 THEN
// GOTO $EOJ
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0004 RECORD TIME AFTER UNLOAD
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT
// DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT
// ASSGN SYS005,SYSRDR
// ASSGN SYS011,SYSLST
// EXEC SQB02,SIZE=AUTO
%%SQLDS710 PUBLIC SQMHELP 3NN2
/*
// IF $RC > 0000 THEN
// GOTO $EOJ
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0005 REPRO VSAM DDL TO SAM
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL VSAMIN,'L.SQLDS710.PUBLIC.SQMHELP',,VSAM, X
CAT=SQMCAT,DISP=(OLD,KEEP)
// DLBL SQMDDL1,'SQLMSTR.DDL.FILE1',0,SD
// EXTENT SYS008,'VSEPK3',1,0,0000445488,00600
// ASSGN SYS008,DISK,VOL='VSEPK3',SHR
// EXEC IDCAMS,SIZE=AUTO
REPRO INFILE(VSAMIN ) -
OUTFILE(SQMDDL1 -
ENV(RECFM(F ) -
BLKSZ(0080) -
RECSZ(0080)))
IF LASTCC > 0000 -
THEN CANCEL JOB
/*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0006 RECORD TIME BEFORE RELOAD
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT
// DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT
// ASSGN SYS005,SYSRDR
// ASSGN SYS011,SYSLST
// EXEC SQB02,SIZE=AUTO
%%SQLDS710 PUBLIC SQMHELP 3NN3
/*
// IF $RC > 0000 THEN
// GOTO $EOJ
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0007 RELOAD DBSPACE
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD
// EXTENT SYS007,'VSEPK3',1,0,0000423488,22000
// ASSGN SYS007,DISK,VOL='VSEPK3',SHR
// ASSGN SYS004,SYS005
// ASSGN SYS020,SYSIPT
// DLBL IJSYSIN,'SQLMSTR.DDL.FILE1',0,SD
// EXTENT SYSIPT,'VSEPK3',1,0,0000445488,00600
ASSGN SYSIPT,DISK,VOL='VSEPK3',SHR
// ON $ABEND GOTO CLOSEIPT
// ON $CANCEL GOTO CLOSEIPT
// EXEC ARIDBS,SIZE=AUTO,PARM='DBNAME(SQLDS710)'
/*
// IF $RC > 0006 THEN
// GOTO CLOSEIPT
CLOSE SYSIPT,SYS020
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0008 RECORD TIME AFTER RELOAD
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT
// DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT
// ASSGN SYS005,SYSRDR
// ASSGN SYS011,SYSLST
// EXEC SQB02,SIZE=AUTO
%%SQLDS710 PUBLIC SQMHELP 3NN4
/*
// IF $RC > 0000 THEN
// GOTO $EOJ
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0009 DELETE VSAM DDL FILE
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// ASSGN SYSLST,IGN
// DLBL FILEIN,'L.SQLDS710.PUBLIC.SQMHELP',,VSAM, X
CAT=SQMCAT,DISP=(OLD,DELETE)
// EXEC IDCAMS,SIZE=AUTO
PRINT INFILE(FILEIN) -
COUNT(1)
/*
// RESET SYSLST
// GOTO THEEND
/. CLOSEIPT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0010 CLOSE SYSIPT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
CLOSE SYSIPT,SYS020
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0011 REPRO SAM DATA TO VSAM
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD
// EXTENT SYS007,'VSEPK3',1,0,0000423488,22000
// ASSGN SYS007,DISK,VOL='VSEPK3',SHR
// DLBL SQMDAT,'D.SQLDS710.PUBLIC.SQMHELP',0,VSAM, X
RECORDS=000100,RECSIZE=8240,DISP=(NEW,KEEP),CAT=SQMCAT
// EXEC IDCAMS,SIZE=AUTO
REPRO INFILE(SQMDAT1 -
ENV(RECFM(SB) -
BLKSZ(2048) -
RECSZ(8240))) -
OUTFILE(SQMDAT -
ENV(RECFM(VB) -
BLKSZ(8248) -
RECSZ(8240)))
IF LASTCC > 0000 -
THEN CANCEL JOB
/*
// GOTO $EOJ
/. THEEND
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0012 THE END
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
/*
/&
Figure 57. DBSPACE Reorg Option 4 (Reload DBSPACE) - Sample Jobstream
* $$ JOB JNM=RELOAD,CLASS=0,DISP=D,NTFY=YES
* $$ LST PRI=3
// JOB RELOAD MUM RELOAD DBSPACE FROM DISK
// OPTION LOG
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0001 CHECK FOR DATA FILE
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// ASSGN SYSLST,IGN
// DLBL FILEIN,'D.SQLDS710.PUBLIC.SQMHELP',,VSAM, X
CAT=SQMCAT
// EXEC IDCAMS,SIZE=AUTO
PRINT INFILE(FILEIN) -
COUNT(1)
/*
// IF $RC > 0000 THEN
// GOTO NODAT
// RESET SYSLST
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0002 CHECK FOR DDL FILE
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// ASSGN SYSLST,IGN
// DLBL FILEIN,'L.SQLDS710.PUBLIC.SQMHELP',,VSAM, X
CAT=SQMCAT
// EXEC IDCAMS,SIZE=AUTO
PRINT INFILE(FILEIN) -
COUNT(1)
/*
// IF $RC > 0000 THEN
// GOTO NODDL
// RESET SYSLST
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0003 REPRO VSAM DATA TO SAM
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL VSAMIN,'D.SQLDS710.PUBLIC.SQMHELP',,VSAM, X
CAT=SQMCAT,DISP=(OLD,KEEP)
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD
// EXTENT SYS007,SYS302,1,0,02985,150
// ASSGN SYS007,DISK,VOL=SYS302,SHR
// EXEC IDCAMS,SIZE=AUTO
REPRO INFILE(VSAMIN -
ENV(RECFM(VB) -
BLKSZ(8248) -
RECSZ(8240))) -
OUTFILE(SQMDAT1 -
ENV(RECFM(SB) -
BLKSZ(2048) -
RECSZ(8240)))
IF LASTCC > 0000 -
THEN CANCEL JOB
/*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0004 RECORD TIME BEFORE RELOAD
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT
// DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT
// ASSGN SYS005,SYSRDR
// ASSGN SYS011,SYSLST
// EXEC SQB02,SIZE=AUTO
%%SQLDS710 PUBLIC SQMHELP 4NN3
/*
// IF $RC > 0000 THEN
// GOTO $EOJ
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0005 REPRO VSAM DDL TO SAM
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL VSAMIN,'L.SQLDS710.PUBLIC.SQMHELP',,VSAM, X
CAT=SQMCAT,DISP=(OLD,KEEP)
// DLBL SQMDDL1,'SQLMSTR.DDL.FILE1',0,SD
// EXTENT SYS008,SYS302,1,0,03835,100
// ASSGN SYS008,DISK,VOL=SYS302,SHR
// EXEC IDCAMS,SIZE=AUTO
REPRO INFILE(VSAMIN ) -
OUTFILE(SQMDDL1 -
ENV(RECFM(F ) -
BLKSZ(0080) -
RECSZ(0080)))
IF LASTCC > 0000 -
THEN CANCEL JOB
/*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0006 RELOAD DBSPACE
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD
// EXTENT SYS007,SYS302,1,0,02985,150
// ASSGN SYS007,DISK,VOL=SYS302,SHR
// ASSGN SYS006,SYS007
// ASSGN SYS020,SYSIPT
// DLBL IJSYSIN,'SQLMSTR.DDL.FILE1',0,SD
// EXTENT SYSIPT,SYS302,1,0,03835,100
ASSGN SYSIPT,DISK,VOL=SYS302,SHR
// ON $ABEND GOTO CLOSEIPT
// ON $CANCEL GOTO CLOSIPT
// EXEC ARIDBS,SIZE=AUTO,PARM='DBNAME(SQLDS710)'
/*
// IF $RC > 0000 THEN
// GOTO CLOSEIPT
CLOSE SYSIPT,SYS020
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0007 RECORD TIME AFTER RELOAD
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT
// DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT
// ASSGN SYS005,SYSRDR
// ASSGN SYS011,SYSLST
// EXEC SQB02,SIZE=AUTO
%%SQLDS710 PUBLIC SQMHELP 4NN4
/*
// GOTO THEEND
/. CLOSEIPT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0008 CLOSE SYSIPT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
CLOSE SYSIPT,SYS020
// GOTO $EOJ
/. NODAT
// RESET SYSLST
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0009 NO DATA FILE
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* RELOAD ABORTED: MISSING FILE = D.SQLDS710.PUBLIC.SQMHELP
// GOTO $EOJ
/. NODDL
// RESET SYSLST
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0010 NO DDL FILE
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* RELOAD ABORTED: MISSING FILE = L.SQLDS710.PUBLIC.SQMHELP
/. THEEND
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0011 THE END
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
/*
/&
Figure 58. Sample Single User Mode DBSPACE Reorganization Jobstream
* $$ JOB JNM=SUMREORG,CLASS=A,DISP=H,PRI=3
* $$ LST PRI=3
// JOB SUMREORG SUM REORG DBSPACE - DISK
// OPTION LOG
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0001 RECORD TIME BEFORE DDL GENERATION
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT
// DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT
// ASSGN SYS005,SYSRDR
// ASSGN SYS011,SYSLST
// ON $RC = 4095 CONTINUE
// EXEC ARISQLDS,SIZE=AUTO,PARM='SYSMODE=S,LOGMODE=N,DBNAME=SQLDBA,PROGX
NAME=SQB02,NDIRBUF=000010,NPAGBUF=000010'
%%SQLDBA PUBLIC SAMPLE 3NY1
/*
// IF $RC > 0000 AND $RC < 4095 THEN
// GOTO $EOJ
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0002 UNLOAD DDL
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT
// DLBL SQMDDL,'L.SQLDBA.PUBLIC.SAMPLE',0,VSAM, X
RECORDS=000500,RECSIZE=80,DISP=(NEW,KEEP),CAT=SQMCAT
// ASSGN SYS005,SYSRDR
// ASSGN SYS011,SYSLST
// ON $RC = 4095 CONTINUE
// EXEC ARISQLDS,SIZE=AUTO,PARM='SYSMODE=S,LOGMODE=N,DBNAME=SQLDBA,PROGX
NAME=SQB01,NDIRBUF=000010,NPAGBUF=000010'
%%SQLDBA PUBLIC SAMPLE 3NY
/*
// IF $RC > 0000 AND $RC < 4095 THEN
// GOTO $EOJ
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0003 UNLOAD DBSPACE
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD
// EXTENT SYS007,'VSEPK3',1,0,0000423488,22000
// ASSGN SYS007,DISK,VOL='VSEPK3',SHR
// EXEC ARISQLDS,SIZE=AUTO,PARM='SYSMODE=S,LOGMODE=N,DBNAME=SQLDBA,PROGX
NAME=ARIDBS,NDIRBUF=000010,NPAGBUF=000010'
READ MEMBER SQMCONN.C NOCONT
COMMENT '***** UNLOAD DBSPACE "PUBLIC"."SAMPLE" *****'
SET UPDATE STATISTICS OFF;
UNLOAD DBSPACE ("PUBLIC"."SAMPLE")
OUTFILE(SQMDAT1 BLKSZ(02048) PDEV(DASD))
/*
// IF $RC > 0000 AND $RC < 4095 THEN
// GOTO $EOJ
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0004 RECORD TIME AFTER UNLOAD
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT
// DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT
// ASSGN SYS005,SYSRDR
// ASSGN SYS011,SYSLST
// EXEC SQB02,SIZE=AUTO
%%SQLDBA PUBLIC SAMPLE 3NY2
/*
// IF $RC > 0000 THEN
// GOTO $EOJ
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0005 REPRO VSAM DDL TO SAM
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL VSAMIN,'L.SQLDBA.PUBLIC.SAMPLE',,VSAM, X
CAT=SQMCAT,DISP=(OLD,KEEP)
// DLBL SQMDDL1,'SQLMSTR.DDL.FILE1',0,SD
// EXTENT SYS008,'VSEPK3',1,0,0000445488,00600
// ASSGN SYS008,DISK,VOL='VSEPK3',SHR
// EXEC IDCAMS,SIZE=AUTO
REPRO INFILE(VSAMIN ) -
OUTFILE(SQMDDL1 -
ENV(RECFM(F ) -
BLKSZ(0080) -
RECSZ(0080)))
IF LASTCC > 0000 -
THEN CANCEL JOB
/*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0006 RECORD TIME BEFORE RELOAD
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT
// DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT
// ASSGN SYS005,SYSRDR
// ASSGN SYS011,SYSLST
// EXEC SQB02,SIZE=AUTO
%%SQLDBA PUBLIC SAMPLE 3NY3
/*
// IF $RC > 0000 THEN
// GOTO $EOJ
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0007 RELOAD DBSPACE
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD
// EXTENT SYS007,'VSEPK3',1,0,0000423488,22000
// ASSGN SYS007,DISK,VOL='VSEPK3',SHR
// ASSGN SYS004,SYS005
// ASSGN SYS020,SYSIPT
// DLBL IJSYSIN,'SQLMSTR.DDL.FILE1',0,SD
// EXTENT SYSIPT,'VSEPK3',1,0,0000445488,00600
ASSGN SYSIPT,DISK,VOL='VSEPK3',SHR
// ON $ABEND GOTO CLOSEIPT
// ON $CANCEL GOTO CLOSEIPT
// EXEC ARISQLDS,SIZE=AUTO,PARM='SYSMODE=S,LOGMODE=N,DBNAME=SQLDBA,PROGX
NAME=ARIDBS,NDIRBUF=000010,NPAGBUF=000010'
/*
// IF $RC > 0006 AND $RC < 4095 THEN
// GOTO CLOSEIPT
CLOSE SYSIPT,SYS020
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0008 RECORD TIME AFTER RELOAD
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT
// DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT
// ASSGN SYS005,SYSRDR
// ASSGN SYS011,SYSLST
// ON $RC = 4095 CONTINUE
// EXEC ARISQLDS,SIZE=AUTO,PARM='SYSMODE=S,LOGMODE=N,DBNAME=SQLDBA,PROGX
NAME=SQB02,NDIRBUF=000010,NPAGBUF=000010'
%%SQLDBA PUBLIC SAMPLE 3NY4
/*
// IF $RC > 0000 AND $RC < 4095 THEN
// GOTO $EOJ
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0009 DELETE VSAM DDL FILE
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// ASSGN SYSLST,IGN
// DLBL FILEIN,'L.SQLDBA.PUBLIC.SAMPLE',,VSAM, X
CAT=SQMCAT,DISP=(OLD,DELETE)
// EXEC IDCAMS,SIZE=AUTO
PRINT INFILE(FILEIN) -
COUNT(1)
/*
// RESET SYSLST
// GOTO THEEND
/. CLOSEIPT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0010 CLOSE SYSIPT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
CLOSE SYSIPT,SYS020
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0011 REPRO SAM DATA TO VSAM
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD
// EXTENT SYS007,'VSEPK3',1,0,0000423488,22000
// ASSGN SYS007,DISK,VOL='VSEPK3',SHR
// DLBL SQMDAT,'D.SQLDBA.PUBLIC.SAMPLE',0,VSAM, X
RECORDS=000100,RECSIZE=8240,DISP=(NEW,KEEP),CAT=SQMCAT
// EXEC IDCAMS,SIZE=AUTO
REPRO INFILE(SQMDAT1 -
ENV(RECFM(SB) -
BLKSZ(2048) -
RECSZ(8240))) -
OUTFILE(SQMDAT -
ENV(RECFM(VB) -
BLKSZ(8248) -
RECSZ(8240)))
IF LASTCC > 0000 -
THEN CANCEL JOB
/*
// GOTO $EOJ
/. THEEND
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0012 THE END
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
/*
/&
* $$ EOJ
Figure 59. Sample Single User Mode DBSPACE Reorganization using Tape
$ $$ JOB JNM=TAPREORG,CLASS=0,DISP=D,PRI=9 * $$ LST PRI=3 // JOB TAPREORG SUM REORG DBSPACE - DISK // OPTION LOG * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * STEP0001 RECORD TIME BEFORE DDL GENERATION * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // TLBL ARIARCH // DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT // DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT // ASSGN SYS005,SYSRDR // ASSGN SYS011,SYSLST // ON $RC = 4095 CONTINUE // EXEC ARISQLDS,SIZE=AUTO,PARM='SYSMODE=S,LOGMODE=A,DBNAME=DB2710,PROGX NAME=SQB02,NDIRBUF=000010,NPAGBUF=000015' %%DB2710 PUBLIC SAMPLE 3NY1 /* // IF $RC > 0000 AND $RC < 4095 THEN // GOTO $EOJ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * STEP0002 UNLOAD DDL * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // TLBL ARIARCH // DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT // DLBL SQMDDL,'L.DB2710.PUBLIC.SAMPLE',0,VSAM, X RECORDS=001000,RECSIZE=80,DISP=(NEW,KEEP),CAT=SQMCAT // ASSGN SYS005,SYSRDR // ASSGN SYS011,SYSLST // ON $RC = 4095 CONTINUE // EXEC ARISQLDS,SIZE=AUTO,PARM='SYSMODE=S,LOGMODE=A,DBNAME=DB2710,PROGX NAME=SQB01,NDIRBUF=000010,NPAGBUF=000015' %%DB2710 PUBLIC SAMPLE 3NY /* // IF $RC > 0000 AND $RC < 4095 THEN // GOTO $EOJ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * STEP0003 UNLOAD DBSPACE * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // TLBL ARIARCH // DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD // EXTENT SYS007,'VSEPK3',1,0,0000201438,06300 // ASSGN SYS007,DISK,VOL='VSEPK3',SHR // EXEC ARISQLDS,SIZE=AUTO,PARM='SYSMODE=S,LOGMODE=A,DBNAME=DB2710,PROGX NAME=ARIDBS,NDIRBUF=000010,NPAGBUF=000015' READ MEMBER SQMCONN.C NOCONT COMMENT '***** UNLOAD DBSPACE "PUBLIC"."SAMPLE" *****' SET UPDATE STATISTICS OFF; UNLOAD DBSPACE ("PUBLIC"."SAMPLE") OUTFILE(SQMDAT1 BLKSZ(02048) PDEV(DASD)) /* // IF $RC > 0000 AND $RC < 4095 THEN // GOTO $EOJ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * STEP0004 RECORD TIME AFTER UNLOAD * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT // DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT // ASSGN SYS005,SYSRDR // ASSGN SYS011,SYSLST // EXEC SQB02,SIZE=AUTO %%DB2710 PUBLIC SAMPLE 3NY2 /* // IF $RC > 0000 THEN // GOTO $EOJ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * STEP0005 REPRO VSAM DDL TO SAM * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // DLBL VSAMIN,'L.DB2710.PUBLIC.SAMPLE',,VSAM, X CAT=SQMCAT,DISP=(OLD,KEEP) // DLBL SQMDDL1,'SQLMSTR.DDL.FILE1',0,SD // EXTENT SYS008,'VSEPK3',1,0,0000239238,00900 // ASSGN SYS008,DISK,VOL='VSEPK3',SHR // EXEC IDCAMS,SIZE=AUTO REPRO INFILE(VSAMIN ) - OUTFILE(SQMDDL1 - ENV(RECFM(F ) - BLKSZ(0080) - RECSZ(0080))) IF LASTCC > 0000 - THEN CANCEL JOB /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * STEP0006 RECORD TIME BEFORE RELOAD * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT // DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT // ASSGN SYS005,SYSRDR // ASSGN SYS011,SYSLST // EXEC SQB02,SIZE=AUTO %%DB2710 PUBLIC SAMPLE 3NY3 /* // IF $RC > 0000 THEN // GOTO $EOJ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * STEP0007 RELOAD DBSPACE * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // TLBL ARIARCH // DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD // EXTENT SYS007,'VSEPK3',1,0,0000201438,06300 // ASSGN SYS007,DISK,VOL='VSEPK3',SHR // ASSGN SYS004,SYS005 // ASSGN SYS020,SYSIPT // DLBL IJSYSIN,'SQLMSTR.DDL.FILE1',0,SD // EXTENT SYSIPT,'VSEPK3',1,0,0000239238,00900 ASSGN SYSIPT,DISK,VOL='VSEPK3',SHR // ON $ABEND GOTO CLOSEIPT // ON $CANCEL GOTO CLOSEIPT // EXEC ARISQLDS,SIZE=AUTO,PARM='SYSMODE=S,LOGMODE=A,DBNAME=DB2710,PROGX NAME=ARIDBS,NDIRBUF=000010,NPAGBUF=000015' /* // IF $RC > 0006 AND $RC < 4095 THEN // GOTO CLOSEIPT CLOSE SYSIPT,SYS020 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * STEP0008 RECORD TIME AFTER RELOAD * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // TLBL ARIARCH // DLBL SQMPARM,'SQLMSTR.REORG.PARMS',,VSAM,CAT=SQMCAT // DLBL SQMRDAT,'SQLMSTR.REORG.DATA',,VSAM,CAT=SQMCAT // ASSGN SYS005,SYSRDR // ASSGN SYS011,SYSLST // ON $RC = 4095 CONTINUE // EXEC ARISQLDS,SIZE=AUTO,PARM='SYSMODE=S,LOGMODE=A,DBNAME=DB2710,PROGX NAME=SQB02,NDIRBUF=000010,NPAGBUF=000015' %%DB2710 PUBLIC SAMPLE 3NY4 /* // IF $RC > 0000 AND $RC < 4095 THEN // GOTO $EOJ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * STEP0009 DELETE VSAM DDL FILE * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ASSGN SYSLST,IGN // DLBL FILEIN,'L.DB2710.PUBLIC.SAMPLE',,VSAM, X CAT=SQMCAT,DISP=(OLD,DELETE) // EXEC IDCAMS,SIZE=AUTO PRINT INFILE(FILEIN) - COUNT(1) /* // RESET SYSLST // GOTO THEEND /. CLOSEIPT * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * STEP0010 CLOSE SYSIPT * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * CLOSE SYSIPT,SYS020 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * STEP0011 REPRO SAM DATA TO VSAM * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD // EXTENT SYS007,'VSEPK3',1,0,0000201438,06300 // ASSGN SYS007,DISK,VOL='VSEPK3',SHR // DLBL SQMDAT,'D.DB2710.PUBLIC.SAMPLE',0,VSAM, X RECORDS=000100,RECSIZE=8240,DISP=(NEW,KEEP),CAT=SQMCAT // EXEC IDCAMS,SIZE=AUTO REPRO INFILE(SQMDAT1 - ENV(RECFM(SB) - BLKSZ(2048) - RECSZ(8240))) - OUTFILE(SQMDAT - ENV(RECFM(VB) - BLKSZ(8248) - RECSZ(8240))) IF LASTCC > 0000 - THEN CANCEL JOB GOTO $EOJ THEEND * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * STEP0012 THE END * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
Figure 60. TABLE Reorg Option 2 (Unload TABLE) - Sample Jobstream
* $$ JOB JNM=TBUNLOAD,DISP=D
* $$ LST CLASS=A,PRI=3
// JOB TBUNLOAD UNLOAD TABLE "EXAMPLE"."ROUTINE" - DISK
// OPTION LOG
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0001 UNLOAD DDL
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMTPRM,'SQLMSTR.TABLE.PARMS',,VSAM,CAT=SQMCAT
// DLBL SQMDDL,'L.DB2710.EXAMPLE.ROUTINE',0,VSAM, X
RECORDS=001000,RECSIZE=80,DISP=(NEW,KEEP),CAT=SQMCAT
// ASSGN SYS005,SYSRDR
// ASSGN SYS011,SYSLST
// EXEC SQB60,SIZE=AUTO
%%DB2710 EXAMPLE ROUTINE 2 N
/*
// IF $RC > 0000 THEN
// GOTO $EOJ
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0002 UNLOAD TABLE
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD
// EXTENT SYS007,'VSEPK3',1,0,0000201438,06300
// ASSGN SYS007,DISK,VOL='VSEPK3',SHR
// EXEC ARIDBS,SIZE=AUTO,PARM='DBNAME(DB2710)'
READ MEMBER SQMCONN.C NOCONT
COMMENT '***** UNLOAD TABLE "EXAMPLE"."ROUTINE" *****'
SET UPDATE STATISTICS OFF;
UNLOAD TABLE ("EXAMPLE"."ROUTINE")
OUTFILE(SQMDAT1 BLKSZ(02048) PDEV(DASD))
/*
// IF $RC > 0000 THEN
// GOTO $EOJ
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0003 REPRO SAM DATA TO VSAM
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD
// EXTENT SYS007,'VSEPK3',1,0,0000201438,06300
// ASSGN SYS007,DISK,VOL='VSEPK3',SHR
// DLBL SQMDAT,'D.DB2710.EXAMPLE.ROUTINE',0,VSAM, X
RECORDS=000100,RECSIZE=8240,DISP=(NEW,KEEP),CAT=SQMCAT
// EXEC IDCAMS,SIZE=AUTO
REPRO INFILE(SQMDAT1 -
ENV(RECFM(SB) -
BLKSZ(2048) -
RECSZ(8240))) -
OUTFILE(SQMDAT -
ENV(RECFM(VB) -
BLKSZ(8248) -
RECSZ(8240)))
/*
/&
Figure 61. TABLE Reorg Option 3 (Reorganize TABLE) - Sample Jobstream
* $$ JOB JNM=TBREORG,CLASS=0,DISP=D
* $$ LST CLASS=A,PRI=3
// JOB TBREORG REORG TABLE "EXAMPLE"."ROUTINE" - DISK
// OPTION LOG
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0001 UNLOAD DDL
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMTPRM,'SQLMSTR.TABLE.PARMS',,VSAM,CAT=SQMCAT
// DLBL SQMDDL,'L.DB2710.EXAMPLE.ROUTINE',0,VSAM, X
RECORDS=001000,RECSIZE=80,DISP=(NEW,KEEP),CAT=SQMCAT
// ASSGN SYS005,SYSRDR
// ASSGN SYS011,SYSLST
// EXEC SQB60,SIZE=AUTO
%%DB2710 EXAMPLE ROUTINE 3NN
/*
// IF $RC > 0000 THEN
// GOTO $EOJ
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0002 UNLOAD TABLE
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD
// EXTENT SYS007,'VSEPK3',1,0,0000201438,06300
// ASSGN SYS007,DISK,VOL='VSEPK3',SHR
// EXEC ARIDBS,SIZE=AUTO,PARM='DBNAME(DB2710)'
READ MEMBER SQMCONN.C NOCONT
COMMENT '***** UNLOAD TABLE "EXAMPLE"."ROUTINE" *****'
SET UPDATE STATISTICS OFF;
UNLOAD TABLE ("EXAMPLE"."ROUTINE")
OUTFILE(SQMDAT1 BLKSZ(02048) PDEV(DASD))
/*
// IF $RC > 0000 THEN
// GOTO $EOJ
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0003 REPRO VSAM DDL TO SAM
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL VSAMIN,'L.DB2710.EXAMPLE.ROUTINE',,VSAM, X
CAT=SQMCAT,DISP=(OLD,KEEP)
// DLBL SQMDDL1,'SQLMSTR.DDL.FILE1',0,SD
// EXTENT SYS008,'VSEPK3',1,0,0000239238,00900
// ASSGN SYS008,DISK,VOL='VSEPK3',SHR
// EXEC IDCAMS,SIZE=AUTO
REPRO INFILE(VSAMIN ) -
OUTFILE(SQMDDL1 -
ENV(RECFM(F ) -
BLKSZ(0080) -
RECSZ(0080)))
IF LASTCC > 0000 -
THEN CANCEL JOB
/*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0004 RELOAD TABLE
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD
// EXTENT SYS007,'VSEPK3',1,0,0000201438,06300
// ASSGN SYS007,DISK,VOL='VSEPK3',SHR
// ASSGN SYS004,SYS005
// ASSGN SYS020,SYSIPT
// DLBL IJSYSIN,'SQLMSTR.DDL.FILE1',0,SD
// EXTENT SYSIPT,'VSEPK3',1,0,0000239238,00900
ASSGN SYSIPT,DISK,VOL='VSEPK3',SHR
// ON $ABEND GOTO CLOSEIPT
// ON $CANCEL GOTO CLOSEIPT
// EXEC ARIDBS,SIZE=AUTO,PARM='DBNAME()'
/*
// IF $RC > 0006 THEN
// GOTO CLOSEIPT
CLOSE SYSIPT,SYS020
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0005 DELETE PARAMETER RECORD
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMTPRM,'SQLMSTR.TABLE.PARMS',,VSAM,CAT=SQMCAT
// ASSGN SYS005,SYSRDR
// ASSGN SYS011,SYSLST
// EXEC SQB62,SIZE=AUTO
%%DB2710 EXAMPLE ROUTINE NN
/*
// IF $RC > 0000 THEN
// GOTO $EOJ
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0006 DELETE VSAM DDL FILE
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// ASSGN SYSLST,IGN
// DLBL FILEIN,'L.DB2710.EXAMPLE.ROUTINE',,VSAM, X
CAT=SQMCAT,DISP=(OLD,DELETE)
// EXEC IDCAMS,SIZE=AUTO
PRINT INFILE(FILEIN) -
COUNT(1)
/*
// RESET SYSLST
// GOTO THEEND
/. CLOSEIPT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0007 CLOSE SYSIPT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
CLOSE SYSIPT,SYS020
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0008 REPRO SAM DATA TO VSAM
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD
// EXTENT SYS007,'VSEPK3',1,0,0000201438,06300
// ASSGN SYS007,DISK,VOL='VSEPK3',SHR
// DLBL SQMDAT,'D.DB2710.EXAMPLE.ROUTINE',0,VSAM, X
RECORDS=000100,RECSIZE=8240,DISP=(NEW,KEEP),CAT=SQMCAT
// EXEC IDCAMS,SIZE=AUTO
REPRO INFILE(SQMDAT1 -
ENV(RECFM(SB) -
BLKSZ(2048) -
RECSZ(8240))) -
OUTFILE(SQMDAT -
ENV(RECFM(VB) -
BLKSZ(8248) -
RECSZ(8240)))
IF LASTCC > 0000 -
THEN CANCEL JOB
/*
// GOTO $EOJ
/. THEEND
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0009 THE END
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
/*
/&
Figure 62. TABLE Reorg Option 4 (Reload TABLE) - Sample Jobstream
* $$ JOB JNM=TBREORG,CLASS=0,DISP=D
* $$ LST CLASS=A,PRI=3
// JOB TBREORG RELOAD TABLE "EXAMPLE"."ROUTINE" - DISK
// OPTION LOG
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0001 CHECK FOR DATA FILE
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// ASSGN SYSLST,IGN
// DLBL FILEIN,'D.DB2710.EXAMPLE.ROUTINE',,VSAM, X
CAT=SQMCAT
// EXEC IDCAMS,SIZE=AUTO
PRINT INFILE(FILEIN) -
COUNT(1)
/*
// IF $RC > 0000 THEN
// GOTO NODAT
// RESET SYSLST
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0002 CHECK FOR DDL FILE
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// ASSGN SYSLST,IGN
// DLBL FILEIN,'L.DB2710.EXAMPLE.ROUTINE',,VSAM, X
CAT=SQMCAT
// EXEC IDCAMS,SIZE=AUTO
PRINT INFILE(FILEIN) -
COUNT(1)
/*
// IF $RC > 0000 THEN
// GOTO NODDL
// RESET SYSLST
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0003 REPRO VSAM DATA TO SAM
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL VSAMIN,'D.DB2710.EXAMPLE.ROUTINE',,VSAM, X
CAT=SQMCAT,DISP=(OLD,KEEP)
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD
// EXTENT SYS007,'VSEPK3',1,0,0000201438,06300
// ASSGN SYS007,DISK,VOL='VSEPK3',SHR
// EXEC IDCAMS,SIZE=AUTO
REPRO INFILE(VSAMIN -
ENV(RECFM(VB) -
BLKSZ(8248) -
RECSZ(8240))) -
OUTFILE(SQMDAT1 -
ENV(RECFM(SB) -
BLKSZ(2048) -
RECSZ(8240)))
IF LASTCC > 0000 -
THEN CANCEL JOB
/*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0004 REPRO VSAM DDL TO SAM
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL VSAMIN,'L.DB2710.EXAMPLE.ROUTINE',,VSAM, X
CAT=SQMCAT,DISP=(OLD,KEEP)
// DLBL SQMDDL1,'SQLMSTR.DDL.FILE1',0,SD
// EXTENT SYS008,'VSEPK3',1,0,0000239238,00900
// ASSGN SYS008,DISK,VOL='VSEPK3',SHR
// EXEC IDCAMS,SIZE=AUTO
REPRO INFILE(VSAMIN ) -
OUTFILE(SQMDDL1 -
ENV(RECFM(F ) -
BLKSZ(0080) -
RECSZ(0080)))
IF LASTCC > 0000 -
THEN CANCEL JOB
/*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0005 RELOAD TABLE
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// DLBL SQMDAT1,'SQLMSTR.DATA.FILE1',0,SD
// EXTENT SYS007,'VSEPK3',1,0,0000201438,06300
// ASSGN SYS007,DISK,VOL='VSEPK3',SHR
// ASSGN SYS006,SYS007
// ASSGN SYS020,SYSIPT
// DLBL IJSYSIN,'SQLMSTR.DDL.FILE1',0,SD
// EXTENT SYSIPT,'VSEPK3',1,0,0000239238,00900
ASSGN SYSIPT,DISK,VOL='VSEPK3',SHR
// ON $ABEND GOTO CLOSEIPT
// ON $CANCEL GOTO CLOSEIPT
// EXEC ARIDBS,SIZE=AUTO,PARM='DBNAME(DB2710)'
/*
// IF $RC > 0006 THEN
// GOTO CLOSEIPT
CLOSE SYSIPT,SYS020
// GOTO THEEND
/. CLOSEIPT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0006 CLOSE SYSIPT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
CLOSE SYSIPT,SYS020
// GOTO $EOJ
/. NODAT
// RESET SYSLST
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0007 NO DATA FILE
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* RELOAD ABORTED: MISSING FILE =
* D.DB2710.EXAMPLE.ROUTINE
// GOTO $EOJ
/. NODDL
// RESET SYSLST
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0008 NO DDL FILE
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* RELOAD ABORTED: MISSING FILE =
* L.DB2710.EXAMPLE.ROUTINE
/. THEEND
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* STEP0009 THE END
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
/*
/&