DASDMigration Guide
DASDMigration Guide
DASDMigration Guide
DFDSS
• Physical – tracks are copied from the source volume to the target
volume (of course, tracks not allocated are not copied). This is the
fastest method, ideal when device types are the same (or differ only by
capacity, the target being the largest). The source volume can be in use
(in read mode) while it is copied. Our experience shows that up to 100
gigabytes can be moved in an hour (with state of the art disks).
• Logical – tracks (or records, or blocks) of allocated files are copied from
the source volume to the target volume. Logical copy is mandatory with
unlike device geometry (3380 to 3390), which is the most problematic
situation. Only unallocated files can be moved to another volume.
DFDSS in general does all the work; system utilities are invoked in a
few cases for unlike device types (IEBCOPY for loadlibs, or IDCAMS
for KSDS). IDCAMS (EXPORT/IMPORT) is used for user catalogs.
Rare utilities like IEHMOVE and IEBISAM are called when required.
A very useful precaution is to run in advance the DFDSS jobs with the
parameter PARM=‘TYPRUN=NORUN’, to detect both syntax errors and
potential problems with datasets.
For copying the contents of volume xxx to volume yyy, the following JCL is
recommended:
COPYVOLID ensures that the volume serial number from the source
volume will be copied to the target volume. As two on-line volumes cannot
bear the same name, the target volume will be set off-line as soon as the
copy is finished. So to continue, you will have to:
One must then reply with the device number of the disk not to be used
afterwards. Your operators will not thank you if they have not been
previously informed. Unfortunately, you cannot avoid this scenario when
handling some system volumes that can never be set off-line (SYSRES,
mastercat volume, etc).
ALLDATA(*) and ALLEXCP are used to copy all the allocated space (even
if not used). This is useful for files like the JES spool (that may appear
empty to the system, but are not).
For moving all files from volume xxx to volume yyy, the following JCL is
recommended:
2 © 1999. UK telephone 01635 33848, fax 01635 38345. USA telephone 940 455 7050, fax 940 455 2492.
A DASD migration guide
Subparameters used:
• ALLEXCP – copy all the allocated space (empty files); DFDSS will not
do it in all cases (IBM provides a table about ALLDATA and ALLEXCP
interactions).
• ADMIN – to avoid any security problems with moving files (you must
be authorized with only READ access to the STGADMIN.ADR.
STGADMIN.COPY.DELETE profile in the FACILITY class).
• WAIT(0,0) – do not waste time waiting for files that are in use (and
won’t be moved anyway).
• SPHERE – copy all AIX related to the base clusters you want to move
(not recommended AIX may be copied even if not on the volume you
want to empty – this may generate a no space left condition on the
target disk).
The system parameters that need to be updated when disks or datasets are
moved incude:
• IODF and IOCP – of course, addresses for new units must be defined.
Always keep old addresses for some time, in case of fallback.
• EDT – if esoteric names are used in your JCL, sufficient volumes must
be linked to them so as to avoid JCL errors (EDT changing is now
dynamic with HCD). It is simpler to adapt the EDT than to update the
'UNIT'= parameter in thousands of JCL files!
• VAT list (VATLSTxx) – for volume use attributes (use generic entries
whenever possible). Often a co-requisite with EDT update, because
disks used for non-specific allocation must be declared with the storage
or public attribute.
• IPL texts – they are copied by the DFDSS COPY FULL function.
Consider reinstalling them only after logical copies (SYSRES volume,
stand-alone dump volume).
There are some general considerations, when a disk full copy cannot be
undertaken. Many datasets require an IPL for MVS to acknowledge that
they were moved (SYS1.SVCLIB, SYS1.STGINDEX, page datasets like
PLPA or COMMON, SYS1.UADS, mastercat), while others are used only
during the IPL (SYS1.LPALIB, SYS1.NUCLEUS, IODFs, IPLPARM).
In the recent versions of MVS, very few files still reside on the system-
resident volume (only three: SYS1.SVCLIB, SYS1.NUCLEUS and the
optional PASSWORD file). When preparing to move system files, a
precaution is to run the old IPO utility MCNVTCAT to be able to rebuild
entries in the master catalog.
It is useful to know how direct access datasets are accessed. This can
either be by track-track record (TTR), which is what DFDSS assumes by
4 © 1999. UK telephone 01635 33848, fax 01635 38345. USA telephone 940 455 7050, fax 940 455 2492.
A DASD migration guide
Unmovable datasets
If you have used model DSCB datasets (instead of having a catalogued file
used as a general model for all GDGs, or having SMS manage the GDGs),
do not forget they must reside on the same volume as the related catalog.
JES2 spool
Initialize a spare disk (its name must match the SPOOLDEF VOLUME
parameter). Allocate a spool file (name it according to the SPOOLDEF
DSNAME parameter), whose size will be at least equal to the size of the
active one(s). There is no need to catalog it. Verify the value of the
SPOOLNUM and TGSPACE (or TGNUM prior to SP510) parameters.
Issue a ‘$SSPL,V=newvol,FORMAT’ command. When the formatting is
finished, issue a ‘$PSPL,V=oldvol’ command: little by little, the old spool
file will be drained (as job purges will occur) and eventually JES2 will
unallocate this volume. You can also force JES2 to cancel all jobs that were
using this volume ($PSPL,V=oldvol,CANCEL). Spool offload, followed by
IPL, and spool reload is an alternative.
JES2 checkpoint
JES2 PROCLIBs
If you want to take no chances, we would recommend that you copy JES2
proclibs without deleting the source file. If an IPL cannot be planned, an
abnormal stop of JES2 can be forced ($PJES2,ABEND), followed by a JES2
hot start.
JES3 spool
Moving the JCT dataset (a file containing information about the status of
jobs) normally requires a JES3 cold start. IBM also provides a ‘JCTTOOL’
facility to help you. The checkpoint dataset is less of a problem, because it
is used only to avoid reprocessing of the JES3 init deck each time JES3 is
hot-started.
6 © 1999. UK telephone 01635 33848, fax 01635 38345. USA telephone 940 455 7050, fax 940 455 2492.
A DASD migration guide
SYS1.UADS
SYS1.BRODCAST
SMF files
Identify SMF files not currently in use (with the ‘D SMF’ command), suppress
any reference to them in SMFPRMxx, issue the ‘SET SMF=xx’ command to
get them unallocated, recreate them (DELETE, DEFINE CLUSTER with the
MODEL subparameter). Re-update SMFPRMxx and reissue the ‘SET
SMF=xx’ command for SMF to format them. No IPL is required except if you
decide to change their CI size (as all must have the same CI size).
Never use DFDSS to move files between ML/1 volumes. Migrated files are
not catalogued, they are referenced in HSM control datasets, so you must
use HSM commands to move them.
• Prerequisite: the daily autobackup should have been run (verify that
there is no HSM.HBACK file on the volume). If it is not the case, issue
the FREEVOL ML1BACKUPVERSIONS command. Also verify that
there is enough room on other ML/1 volumes, and sufficient SDSP files
(if you use small dataset packing).
• HSM.HMIG files remaining on the volume often result from past errors
(HSM being cancelled, job or system crash, etc). You may DELETE
NOSCRATCH the related files (that appear as migrated, but are not known
by HSM), whose name you’ll find by simply browsing the HSM.HMIG files.
You can finally purge these HSM.HMIG files. Any non-HSM user datasets
allocated on ML/1 volume should be moved in the normal way.
For HSM back-up volumes, the processing is the same as above, the
commands to be used are:
HSM control files are normal VSAM files. Stop HSM and invoke DFDSS to
move them. The SDSP files (HSM.SMALLDS.Vxxxxxx) must not be moved,
but can be deleted after a successful ML/1 volume migration.
No real data migration is normally required for public work volumes, only
MOUNT commands with the PRIVATE attribute in place of the PUBLIC one.
There is no problem using DFDSS with DB2 or IMS databases (never use
IDCAMS to move such files). Stop DB2 or IMS, or, alternatively, stop the
files you want to move using the commands:
• /DBR DB(database) NOFEOV for IMS (/DBR AREA for DEDB bases).
If the IMS databases are used by CICS systems (local DL/I), issue a CEMT
SET DLIDATABASE(database) STOP command (supposing the base was
allocated through a DFSMDA macro).
8 © 1999. UK telephone 01635 33848, fax 01635 38345. USA telephone 940 455 7050, fax 940 455 2492.
A DASD migration guide
For DB2, ensure that volumes belong to the right STOGROUP. To change
volume affinity, use the ALTER command (ALTER STOGROUP ... ADD
VOLUMES(...) REMOVE VOLUMES(...)).
For IMS, in some rare cases (3380 to 3390 migration and KSDS defined with
the BUFFERSPACE parameter), the index CI size of a HIDAM or HISAM
database may change, which may affect the DFSVSMxx parameters.
If CICS user files were dynamically allocated (no DD card), issue a CEMT
SET DATASET(database) CLOSE command to free them.
Some IMS commands allow you to add a new WADS (/START WADS) or
OLDS (/START OLDS) file. These files must be previously defined and
recognized by IMS (DFSMDA macros for allocation, WADS or OLDS
number falling in the defined range).
HFS files are special SMS files for OpenEdition (the MVS flavour of Unix).
They cannot be logically moved by the COPY command with the current
versions of DFDSS, you must use the DUMP and RESTORE functions.
Page datasets
PLPA and COMMON datasets cannot be moved. Note that there is no ENQ
protecting page datasets, there is only a flag (UCBPGFL) in the UCB. Allocate
new page datasets to replace them on the next IPL and update the IEASYSxx
member in your PARMLIB. The procedure is the same for swap datasets.
The master catalog cannot be moved. AMS REPRO must be used to copy
its contents to a new master catalog. To do this:
• Connect the old one to the new one (useful to delete the old after IPL):
IMP OBJ((CATALOG.OLDMCAT -
VOL(oldvol) DEVT(3390))) CON CAT(CATALOG.NEWMCAT)
SYS1.LOGREC
Allocate a new LOGREC and recatalog it. Use IFCDIP00 to format the new
LOGREC. An IPL is required.
SYS1.STGINDEX
ILR023I DYNAMIC ALLOCATION OF VIO JOURNALING DATA SET FAILED. NO VIO JOURNALING
The VIODSN parameter (in IEASYSxx) enables you to assign another name
for the STGINDEX file, or, preferably, to avoid using it (VIODSN=IGNORE).
10 © 1999. UK telephone 01635 33848, fax 01635 38345. USA telephone 940 455 7050, fax 940 455 2492.
A DASD migration guide
User catalogs
User catalogs are not the easiest part of file migration! They should be
moved only when quiesced. They should not be moved together with the
data sets that are catalogued in them.
Before the move, the catalog should be quiesced and freed on any other
system, through the commands ‘F CATALOG,CLOSE
(CATALOG.USER)’ and ‘F CATALOG,UNALLOCATE
(CATALOG.USER)’. You can move catalogs that are not closed, the risk
being that you receive some time later error messages when VSAM files
are closed (eg when CICS is stopping), because VSAM tries to write
statistics onto the catalog at its previous location.
Saving the catalog before the move is a good precaution, because the move
step can be cancelled, or be waiting forever, and there is a risk of getting a
damaged catalog.
You cannot stop the SMS address space, but the SETSMS command
enables you to use different control datasets. To assign a new ACDS,
define it and issue the commands:
Linklist libraries
Use DFDSS to copy linklist libraries (no DELETE, use the TOL(ENQF)
parameter), re-catalog them on the target volume, and IPL. If you really
want to move them on-the-fly, use some utilities like RESOLVE (from
Boole and Babbage) or LNKLST statements in PROGxx (beginning with
OS/390 Release 3).
Some libraries are always allocated and will never be moved (linklist
libraries, VTAMLIB, TSO libraries, etc), but will be copied and
recatalogued. It’s a pity that DFDSS does not even allow you to
uncatalog/recatalog files that are in use (DFDSS requires exclusive use to
do so).
SYS1.DUMPxx
12 © 1999. UK telephone 01635 33848, fax 01635 38345. USA telephone 940 455 7050, fax 940 455 2492.
A DASD migration guide
SYS1.DAE
You must disable DAE (Dump Analysis and Elimination). Usually IBM
provides an ADYSET01 member in PARMLIB. Try the SET DAE=01
command.
SYS1.PAGEDUMP
RACF databases
• Catalog the new primary base and uncatalog the old one.
CICS journals
These are actual cases of DASD migration problems that have been
encountered in practice:
The same problem exists with non-VSAM files with an expiration date
(the consequence of it is the source file remaining on the source volume,
with the same name).
Normally, you cannot move files that are in use, but some products
allocate files with no enqueue (option NO DATASET INTEGRITY in
the MVS program property table). You may move these files to other
disks without any problem, except that those products could receive
some abends due to the fact that their files are no longer on the
volumes they thought they were. Known examples are: PSF, JES2,
JES3 (did you ever try to rename/compress/delete a JES PROCLIB ?...).
The SMS volume must be known by your system (it must belong to an
active storage group in your system) and must not be disabled. DFDSS
will not proceed (even if you try a full volume copy).
14 © 1999. UK telephone 01635 33848, fax 01635 38345. USA telephone 940 455 7050, fax 940 455 2492.
A DASD migration guide
physically copied and put off-line while some logical copies are running,
the catalog could become corrupted or contain incorrect entries for files
that were moved by logical copies.
The first thing to do is to set the address off-line on all systems sharing
the disk. Initializing a disk on one system while it is on-line on another
can provoke allocation problems.
The next pitfalls are very common (from my own experience) they all
stem from catalog problems. Catalog management in MVS is so flexible
that there is always a risk of missing something, due to what I call
hidden objects.
The DDx cards all point to your SMS volumes. These files should be
deleted (if they do not belong to a foreign SMS complex!) with
commands like DELETE xxx FILE(DD1) NVR, or, on the contrary, be
recatalogued (DEF NVSAM ... RECATALOG).
The same problem occurs with VSAM files not catalogued – not a rare
event in many data centres (try DELETE xxx VVR).
A classic problem with systems sharing disks. The foreign system will
not be informed that its files have been moved (so IPLing this system
can generate nasty surprises). You must recatalog these files properly.
Find them in advance with a LISTCAT ALL command.
Yes, you may have both a ‘normal’ alias called, say, PROD, and a
PROD.LIBRARY catalogued in the master catalog (try it). This ‘double
cataloguing’ is a trick used sometimes by systems people, often for
linklist or IPA-list libraries. The entry in the master catalog is used
during the IPL phase, while the one in the user catalog will be used the
From what we could test, the problem does not exist with VSAM files
(PATH entries related to primary clusters are preserved when the
clusters are moved).
You were happy to have emptied many volumes containing VSAM files,
and eventually you re-initialized them (ICKDSF INIT). Now, some
people are reporting errors when deleting VSAM files, or when the
system tries to expand a VSAM file onto another volume. This was
because the volumes you had reinitialized were candidate volumes for
these files (though no space was allocated on them). An ALTER xxx
REMOVEVOLUMES(volser) for any concerned file will fix the problem.
The same problem exists for non-VSAM files with more annoying
consequences: as soon as people try to handle or delete these not really
multi-volume files, they get the message:
You can be proactive by listing all the catalog entries and searching for
occurrences of these volumes that you want to reinitialize, as current
candidates for VSAM or non-VSAM files.
Conclusions
To conclude, disk migration is often a tedious task. Try to assess all the
differing problems which may occur. Prepare all the JCL before the
16 © 1999. UK telephone 01635 33848, fax 01635 38345. USA telephone 940 455 7050, fax 940 455 2492.
A DASD migration guide