Updated 9/15/2006, see text in RED
I. Introduction
II. Migration Considerations
III. Migration Phases
IV. Phase1 Examples
1. Stacking datasets on a single volume within a single job.
2. Stacking datasets on a single volume with two or more jobs.
3. Writing to the end of an existing dataset, DISP=MOD
ACS has installed an IBM 3490e Enhanced Capacity Tape Cartridge System that will replace the aging IBM 3480 Tape Cartridge System. The actual hardware consistes of a 3490e A02 dual controller and two 3490e B40 units, each containing 4 tape drives for a total of 8 drives. The IBM Enhanced Capacity Cartridge System tape has a data capacity of 800 MB in 36-track recording format using a block size of 24 KB. When using IDRC (compression), which is standard on the 3490E subsystem, cartridge capacity normally exceeds these values, and these are stated only to present a consistent basis for comparison. The older 3480 Cartridge Systems tapes could hold a maximum of 200 MB.
IBM 3480 Cartridge System tapes can be easily distinguished from IBM 3490e Enhanced Capacity Cartridge System tapes. The cartridge for an IBM 3480 Cartridge System is solid gray. The cartridge for IBM 3490e Enhanced Capacity Cartridge System is two-tone with gray and white sides. Thus, when viewed in a storage rack with the intersection of the white and gray surfaces exposed, the difference is noticeable.
The IBM 3490e Enhanced Capacity Tape Cartridge System can read, but not write, 3480 tapes. This means that it will not be necessary to copy archival 3480 tapes that are read-only as part of this conversion.
The most important difference between the older 3480's and newer 3490e's that the 3480e's can hold at least 4 times the data.
Click on any of the pictures to see the full size image.
1. The 3480 unit type in JCL is UNIT=CTAPE or UNIT=TAPE.
2. The 3490e unit type in JCL is UNIT=ETAPE.
Note: UNIT=ETAPE is the correct choice if you are creating an new dataset or writing onto an existing 3490e tape volume. If you are reading an existing, cataloged dataset from a 3480 volume and want to force it to be mounted on a 3490e tape drive you must specify UNIT=SYS3480R in your JCL to override the unit type contained in the system catalog. For example:
//TAPEIN DD DISP=OLD,DSN=USER.TAPE.DATASET,UNIT=SYS3480R
will for the tape mount to a 3490e tape drive for reading. You cannot write to a tape when you specify UNIT=SYS3480R.
3. A 3490e tape drive cannot write to a 3480 volume. If a job is writing to an existing 3480 tape dataset with DISP=MOD then that tape will have to be copied and recataloged to a 3490e volume as part of the conversion.
4. A 3490e tape drive cannot write to a 3480 volume. If a job is adding or stacking datasets to an existing 3480 tape volume, e.g. LABEL=(2,SL) then that tape will have to be copied to a 3490e volume as part of the conversion.
5. As long as nothing conflicts with considerations 3 and 4 above a generation data group (GDG) can contain both 3480 and 3490e volumes.
6. If a tape volume is to be sent offsite to another organization, then we need to determine if that organization can handle 3490e media with or without IDRC compression. Ultimately the answer to that question may determine whether we need to keep a pair of 3480 drives for compatibility.
During Phase 1 of the migration to the 3490e tapes we will have to identify jobs and/or job streams that write to existing volumes and decide how to convert them. At the end of Phase 1 all required JCL changes should have been completed.
Once all the Phase 1 JCL changes have been completed the generic unit types will reassigned such that they designate 3490e drives instead of 3480 drives. In this manner it will be possible to have the remaining jobs use the 3490e drives without having to make further JCL changes.
In this example a job consists of 3 steps. The first step creates a new dataset on label 1, the second on label 2 and the third on label 3. No other jobs add datasets to this volume.
//STACK3 JOB acct,programmer //STEP1 EXEC PGM=IEBGENER //SYSPRINT DD SYSOUT=* //SYSUT1 DD DISP=OLD,DSN=indataset1 //SYSUT2 DD DISP=(NEW,CATLG,DELETE),UNIT=CTAPE,LABEL=(1,SL), // DSN=outdatset1,VOL=(,RETAIN) //SYSIN DD DUMMY //* //STEP2 EXEC PGM=IEBGENER //SYSPRINT DD SYSOUT=* //SYSUT1 DD DISP=OLD,DSN=indataset2 //SYSUT2 DD DISP=(NEW,CATLG,DELETE),UNIT=CTAPE,LABEL=(2,SL), // DSN=outdatset2,VOL=REF=*.STEP1.SYSUT1 //SYSIN DD DUMMY //* //STEP3 EXEC PGM=IEBGENER //SYSPRINT DD SYSOUT=* //SYSUT1 DD DISP=OLD,DSN=indataset3 //SYSUT2 DD DISP=(NEW,CATLG,DELETE),UNIT=CTAPE,LABEL=(3,SL), // DSN=outdatset3,VOL=REF=*.STEP1.SYSUT1 //SYSIN DD DUMMY //
Since this job creates all the datasets on this volume, and there are no other jobs that will be adding datasets to it, then simply change all occurances of UNIT=CTAPE to UNIT=ETAPE and run the job.
//STACK1 JOB acct,programmer //STEP1 EXEC PGM=IEBGENER //SYSPRINT DD SYSOUT=* //SYSUT1 DD DISP=OLD,DSN=indataset1 //SYSUT2 DD DISP=(NEW,CATLG,DELETE),UNIT=CTAPE,LABEL=(1,SL), // DSN=outdatset1,VOL=(,RETAIN) //SYSIN DD DUMMY //
//STACK2 JOB acct,programmer //STEP1 EXEC PGM=IEBGENER //SYSPRINT DD SYSOUT=* //SYSUT1 DD DISP=OLD,DSN=indataset2 //SYSUT2 DD DISP=(NEW,CATLG,DELETE),UNIT=CTAPE,LABEL=(2,SL), // DSN=outdatset2,VOL=SER=123456 //SYSIN DD DUMMY //
//STACK3 JOB acct,programmer //STEP3 EXEC PGM=IEBGENER //SYSPRINT DD SYSOUT=* //SYSUT1 DD DISP=OLD,DSN=indataset3 //SYSUT2 DD DISP=(NEW,CATLG,DELETE),UNIT=CTAPE,LABEL=(3,SL), // DSN=outdatset3,VOL=SER=123456 //SYSIN DD DUMMY //
How you handle a jobstream like this will depend on how this jobstream will be run. If it is run from the beginning and is creating the tape, then simply change the UNIT=CTAPE to UNIT =ETAPE as before and run the jobs.
If the first job has already been run and the volume already exists on 3480 then you will need to either change the unit types and rerun the complete jobstream from the beginning or copy and recatalog the existing datasets to a 3490e volume and then continue stacking datasets on that new 3490e volume.
//ADDON JOB acct,programmer //STEP1 EXEC PGM=IEBGENER //SYSPRINT DD SYSOUT=* //SYSUT1 DD DISP=OLD,DSN=indataset1 //SYSUT2 DD DISP=MOD,UNIT=CTAPE,LABEL=(1,SL), // DSN=outdatset1,VOL=SER=123456 //SYSIN DD DUMMY //
In this example data is being added to the end of an existing tape dataset. You cannot simply change the UNIT=CTAPE to UNIT=ETAPE because you would then be attempting to write to a 3480 tape volume on a 3490e tape drive, which is unsupported. You will have to either rerun the original jobs that created this dataset, specifying UNIT=ETAPE or copy the 3480 volume to a 3490e volume, recatalog the dataset to the new volume and then run the job. Remember to change UNIT=CTAPE to UNIT=ETAPE before running the job.
Last modified September 15, 2006 by Jim Wagner (jim_wagner@ncsu.edu)