STORCLAS (Storage Class) is a JCL parameter used in System Managed Storage (SMS) environments. It assigns a storage class to a new dataset, which dictates the performance and availability characteristics of the storage that will be allocated for the dataset.
Storage classes are defined by storage administrators and group storage volumes based on attributes like device type (e.g., high-speed DASD, standard DASD), response time goals, and availability requirements (e.g., mirrored volumes).
12//ddname DD DSNAME=dataset.name,DISP=(NEW,...), // STORCLAS=storage-class-name,...
The STORCLAS parameter is specified on a DD statement when creating a new SMS-managed dataset. The storage-class-name (1-8 characters) must be defined in the active SMS configuration.
123456//NEWDB DD DSN=PROD.DATABASE.INDEX, // DISP=(NEW,CATLG,DELETE), // SPACE=(CYL,(50,10)), // STORCLAS=FAST, // DATACLAS=DBINDEX, // MGMTCLAS=DBMGMT
In this example, the new dataset PROD.DATABASE.INDEX is assigned the FAST storage class, indicating it requires high-performance storage. DATACLAS and MGMTCLAS might also be specified to define other dataset attributes and management policies.
Storage classes are defined by administrators with attributes that influence where SMS places the dataset. Key attributes include:
Guaranteed space, guaranteed synchronous writes (for mirroring).
Based on the STORCLAS requested, SMS ACS (Automatic Class Selection) routines select appropriate storage groups containing volumes that meet these performance and availability criteria.
Storage class names are installation-defined, but often reflect their purpose:
Storage Class | Typical Use Case | Implied Characteristics |
---|---|---|
STANDARD | General purpose, non-critical data | Moderate performance, standard availability |
FAST / PREMIUM / GOLD | High-performance required (e.g., database index, critical online files) | Low response time, potentially high-speed devices |
SLOW / BULK / BRONZE | Large datasets, batch processing, low access frequency | Lower performance objectives, potentially higher capacity/lower cost devices |
CRITICAL / MIRRORED | Mission-critical data requiring high availability | High availability, often placed on mirrored volumes |
TEMP | Temporary work datasets | Standard or moderate performance, may have specific cleanup rules via MGMTCLAS |
Note: Always consult your installation's SMS documentation or storage administrator for valid STORCLAS names and their meanings.
While you can explicitly code STORCLAS, it's very common for installations to rely on SMS Automatic Class Selection (ACS) routines to assign the storage class automatically.
ACS routines are programs written by storage administrators that examine dataset characteristics (like dataset name, size, creating job/user, DATACLAS) and assign the appropriate STORCLAS, DATACLAS, and MGMTCLAS based on installation standards. In many shops, explicitly coding STORCLAS might be discouraged or even disallowed, forcing reliance on ACS routines.
Use ISMF panels or the IDCAMS LISTCAT command to view the storage class assigned to an existing SMS-managed dataset.
12345//LISTCAT EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * LISTCAT ENTRIES(dataset.name) ALL /*
Look for the STORAGECLASS field in the output.
Assuming your installation has a storage class named `PREMIUM` for high-performance DASD, write the DD statement to create a new dataset `MYAPP.CRITICAL.FILE` assigned to this storage class.
Write JCL using IDCAMS LISTCAT to determine the storage class assigned to an existing SMS-managed dataset (e.g., one you created previously or a known system dataset).
If the specified STORCLAS name is not defined in the SMS configuration, the job step will typically fail during allocation with an error message indicating the invalid storage class.
No, the storage class is determined at allocation time and cannot be changed later for an existing dataset. To move a dataset to a different storage class, you would typically need to allocate a new dataset with the desired STORCLAS and copy the data.
They define different aspects of an SMS-managed dataset: STORCLAS defines performance/availability (where it goes initially), DATACLAS defines logical attributes (RECFM, LRECL, SPACE, etc.), and MGMTCLAS defines the lifecycle management (backup, migration, retention).
Generally, no. STORCLAS primarily applies to DASD datasets where performance and availability characteristics of the underlying volumes are key selection criteria. Tape datasets usually rely on DATACLAS and MGMTCLAS for their SMS attributes.
1. What does the STORCLAS parameter primarily determine for a new SMS dataset?
2. In an SMS environment, what often assigns the STORCLAS automatically based on installation rules?
3. Which type of attribute is NOT typically part of a Storage Class definition?
4. Can you change the STORCLAS of a dataset after it has been created?
5. Which command is used to view the assigned Storage Class of an existing SMS dataset?