When DFSMShsm migrates a data set, it changes the catalog entry
for that data set. The data set retains its name, so the users of
the data set know how to address it, but the location is changed to
MIGRAT. However, DFSMShsm gives the migration copy of the data set
a name of the form:
prefix.HMIG.Tssmmhh.user1.user2.Xyddd
If patch-enabled, the following dataset name will
be generated:
prefix.HMIG.Tcccchh.user1.user2.Xyddd
where:
- prefix is the prefix you specify with the SETSYS MIGRATEPREFIX
command.
- HMIG and T are constants.
Note: If two or more data sets with
the same first two high-level qualifiers are migrated during the same
second on the same day, DFSMShsm assigns a letter other than T to
one of these data sets.
- ssmmhh is the time in seconds, minutes, and hours.
If the format is Tcccchh,
then cccchh is the time in hundredths of
seconds from the beginning of the hour converted to four alphabetic
characters, and hh is hours.
The four characters cccc may
be converted to time as follows:
- Create a variable for each character of the string cccc,
using p1 through p4,
from left to right. Then assign a value 0 thru 24 for each character
A thru Y in the sequence. (Note that 25 characters are used, for A
through Y, but not Z.)
- Find the total hundredths of seconds from the beginning of the
hour using this formula:
hunds_seconds_begin_hour = p1+(p2*25)+(p3*625)+(p4*625*25)
- Find the minutes, seconds, and hundredths using these formulae
(% = integer division):
minutes = hunds_seconds_begin_hour%(60*100)
seconds = (hunds_seconds_begin_hour-minutes*60*100)%100
hundredths = hunds_seconds_begin_hour-minutes*60*100-seconds*100
- cccchh is the time in hundredths of seconds
from the beginning of the hour converted to four alphabetic characters
(cccc) and hours (hh).
The four characters
cccc may
be converted to time as follows:
- Create a variable for each character of the string cccc.
Assume these variables are p1 thru p4,
from left to right. Assign a value 0 thru 24 for each character A
thru Y, in sequence (25 characters are used A - Y, but not Z).
- Find the total seconds from the beginning of the hour:
hunds_seconds_begin_hour = p1+(p2*25)+(p3*625)+(p4*625*25)
- Find minutes, seconds, and hundredths (% = integer division):
minutes = hunds_seconds_begin_hour%(60*100)
seconds = (hunds_seconds_begin_hour-minutes*60*100)%100
hundredths = hunds_seconds_begin_hour-minutes*60*100-seconds*100
For more information, refer to "Changing DFSMShsm backup and
migration generated dataset names to reduce contention for similar
names and eliminating a possible performance degradation" in
the "Tuning DFSMShsm" chapter of z/OS DFSMShsm Implementation and Customization Guide.
- user1 and user2 are the first two qualifiers of
the data set name.
- Xyddd is the year and day. X is replaced with a letter
that represents the decade as follows:
G = 1970 |
B = 2020 |
H = 1980 |
C = 2030 |
I = 1990 |
D = 2040 |
J = 2000 |
E = 2050 |
A = 2010 |
F = 2060 |
If, for example, I9012 replaces Xyddd, then I9012
represents January 12, 1999.
If
you need to access a single-file format tape, you must specify a valid
data set name for the single file that comprises up to 255 tape volumes.
The following migrated data set name is valid for each set of cartridge-type
tape volumes in single-file format:
prefix.HMIGTAPE.DATASET
Only the last 17 characters (.HMIGTAPE.DATASET) are recorded in
the tape label. To access the single-file format data set, you must
supply any valid prefix along with the .HMIGTAPE.DATASET qualifiers.
The
following tape data set name for each copy of a cartridge-type tape
volume is created by the TAPECOPY command or the duplex tape option:
prefix.COPY.HMIGTAPE.DATASET