I tried some estimates from large report indexes. Index Migration space requirements for CMOD 7.1/8.4 look to be approximately double that of CMOD 2.1. It turned out we did not have the DASD to make a copy, and migrate as well. And with our CPU, my migration will take about 5 months.
Another issue we had is that IBM's configuration guide did not provide adequate guidance to bypass TCP/IP usage in the S4 load step. It turned out to not be possible with their ARSLOADZ proc. I did finally get ARSLOAD working so it bypassed TCP/IP buffering back to ARSSOCKD, so the CPU cycles used drop by a factor of 200 !
Also to run in "super migration mode", you must add the Z/OS owning userid to the CMOD database user table, with the password matching the id.
And be sure you discover the PROC ARSZOSHL, and use that when you want to run a long UNIX statement in JCL batch. You can provide it environment variables which fill out to up to 256 characters total. Far more than the 80 or 100 byte limit as a PARM.
I re-gened my migration extract jobs so that the ARSLOAD jobs had the better code below. I also added this comment section, since each load job neede columns 73-80 blasnked out:
//* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
//* REMOVE NUMBERS IN COLS 73-80 FOR INSTREAM DATA, ELSE RC=1, S4 FAILS
//* - OPEN IN EDIT MODE, USE UNNUM COMMAND (un-number)
//* - be sure ownership access settings on /ars/cache1 are 777
//* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Section S4:
-----------
//* S4 will fail if numbering present in cols 73-80 of IKJEFT01 input
//*
//S4 EXEC PGM=IKJEFT01,REGION=0M,COND=(0,NE)
//STEPLIB DD DISP=SHR,DSN=SYS2.OD710.USERLOAD
// DD DISP=SHR,DSN=SYS2.OD710.SARSLOAD
// DD DISP=SHR,DSN=$DB1.DSNEXIT
// DD DISP=SHR,DSN=$DB1.DSNLOAD
//SYSEXEC DD DISP=SHR,DSN=SMPE.OD710.USERPROC
//SYSTSPRT DD SYSOUT=*,RECFM=FA,LRECL=133
//* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
//* REMOVE NUMBERS IN COLS 73-80 FOR INSTREAM DATA, ELSE RC=1, S4 FAILS
//* OPEN IN EDIT MODE, USE UNNUM COMMAND
//* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
//SYSTSIN DD *
ARSZOSHL /usr/lpp/ars/bin/arsload $LS -a $APP -g $AG -c /ars1 $HFSF
//STDENV DD *
_BPX_SHAREAS=YES
_BPX_BATCH_SPAWN=YES
LS=-X G -f -h ARSDBASE -u ARSSERVR -p ARSSERVR -Y
AG=ag_name
APP=app_name
HFSF=hfs_ix_file_no_type
/*
//OSHOUT1 DD DSN=&&ARSLOAD,DISP=(,PASS),
// UNIT=SYSDA,SPACE=(TRK,(5,5),RLSE),
// RECFM=FA,LRECL=133,BLKSIZE=0
//DSNAOINI DD PATH='/usr/lpp/ars/config/cli.ini'
//SYSOUT DD SYSOUT=*,RECFM=FA,LRECL=133,BLKSIZE=0
//*SYSPRINT DD DSN=&&ARSLOAD,DISP=(,PASS),
//* UNIT=SYSDA,SPACE=(TRK,(5,5),RLSE)
//CEEDUMP DD SYSOUT=Z
//*
//* If S4 fails, check for numbering in 73-80 in IKJEFT01 input above
//*
--------
and the step immediately following:
//ARSLOAD EXEC PGM=IEBGENER,COND=(0,NE)
//SYSPRINT DD DUMMY
//SYSUT1 DD DSN=&&ARSLOAD,DISP=(OLD,PASS)
//SYSUT2 DD SYSOUT=*,LRECL=133,RECFM=FA
//SYSIN DD DUMMY
//*
---------
and I changed all SYSOUT or SYSTSPRT DD statements to =*,LRECL=133,RECFM=FA