Determination of the SMS classes associated with the data set depends
on whether SMS is active, whether the target data set exists, and
whether FORCENONSMS is specified.
When SMS is not active
When
SMS is not active, any data set that currently exists and is SMS-managed
or that was SMS-managed when it was backed up or dumped cannot be
processed unless FORCENONSMS is specified on the RECOVER command.
For a discussion of using the FORCENONSMS parameter, see Recovering specific data sets.
When SMS is active and the target
data set exists
If the target data set exists, DFSMShsm
uses the storage class, management class, and data class from the
catalog entry as the SMS classes to be associated with the recovered
data set.
When SMS is active and the target
data set does not exist
If the target data set does not
exist, DFSMShsm invokes the ACS services of DFSMSdfp to determine
the SMS classes to be associated with the recovered data set. In invoking
ACS services, DFSMShsm passes to the ACS routine of DFSMSdfp any of
the following that are available:
- The name of the data set.
- The name of the storage class associated with the data set when
the data set was incrementally backed up.
No storage class is
passed if one of the following is true:
- The data set was not SMS-managed when it was incrementally backed
up.
- A physical dump copy is being explicitly recovered because you
specified FROMDUMP or FROMDUMP(DUMPVOLUME(volser)).
- The data set does not have an incremental backup version.
Note: If the data set was SMS-managed when it was physically
dumped, and your ACS storage class routine expects DFSMShsm RECOVER
to provide the storage class in effect when the data set was dumped,
the data set may be filtered as non-SMS-managed, and the recovery
may fail with an “unable to recover a non-SMS-managed data set to
an SMS-managed volume” error. If this occurs, use FORCENONSMS or TOVOLUME
to recover the data set to a non-SMS-managed volume.
- The name of the management class associated with the data set
when the data set was incrementally backed up. No management class
is passed if one of the following is true:
- The data set used the default management class when it was incrementally
backed up.
- The data set was not SMS-managed when it was incrementally backed
up.
- A physical dump copy is being explicitly recovered because you
specified FROMDUMP or FROMDUMP(DUMPVOLUME(volser)).
- The data set does not have an incremental backup version.
- The name of the data class associated with the data set when the
data set was incrementally backed up. No data class name is passed
if one of the following is true:
- The data set had no data class when it was incrementally backed
up.
- The data set was not SMS-managed when it was incrementally backed
up.
- A physical dump copy is being explicitly recovered because you
specified FROMDUMP or FROMDUMP(DUMPVOLUME(volser)).
- The data set does not have an incremental backup version.
- The volume serial number specified with the TOVOLUME parameter
in the request or the volume serial number and unit type of the volume
where the data set originally resided.
Note: If your storage class
ACS routine checks for a valid DASD unit name, be sure to include
any unit names that may have existed in your installation at one time
and are no longer in use, because the data set could have resided
on such a unit when it was backed up.
- An environment indicator of RECOVER.
- The RACF® user ID and group
ID for non-DFSMShsm-authorized users.
- The data set size in KB.
- The data set expiration date.
- A generation data group indication.
- The data set organization.
- The record organization for VSAM data sets.
ACS services returns the SMS class names to be associated with
the recovered data set. If ACS services does not return a storage
class name, the data set is not SMS-managed and is recovered as a
non-SMS-managed data set.