MainframeMaster

JCL Tutorial

STORCLAS: JCL Storage Class Parameter

Progress0 of 0 lessons

What is STORCLAS?

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).

Syntax and Usage

Basic Syntax

jcl
1
2
//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.

Example with STORCLAS

jcl
1
2
3
4
5
6
//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 Class Attributes

Storage classes are defined by administrators with attributes that influence where SMS places the dataset. Key attributes include:

Performance Objectives

  • Direct Millisecond Response: Target response time for direct access.
  • Sequential Millisecond Response: Target response time for sequential access.
  • Bias: Preference for Read or Write performance (R-bias, W-bias).

Availability Objectives

  • Availability: Required availability level (e.g., STANDARD, CONTINUOUS). CONTINUOUS might imply mirrored volumes.
  • Accessibility: (Less common) Specifies requirements like concurrent copy.

Accessibility

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.

Common Storage Class Names

Storage class names are installation-defined, but often reflect their purpose:

Storage ClassTypical Use CaseImplied Characteristics
STANDARDGeneral purpose, non-critical dataModerate performance, standard availability
FAST / PREMIUM / GOLDHigh-performance required (e.g., database index, critical online files)Low response time, potentially high-speed devices
SLOW / BULK / BRONZELarge datasets, batch processing, low access frequencyLower performance objectives, potentially higher capacity/lower cost devices
CRITICAL / MIRROREDMission-critical data requiring high availabilityHigh availability, often placed on mirrored volumes
TEMPTemporary work datasetsStandard 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.

STORCLAS and ACS Routines

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.

Overriding and Default Storage Classes

Assignment Methods (in order of precedence)

  1. Explicit JCL Specification: Using the STORCLAS parameter (highest precedence).
  2. ACS Routines: Automatic assignment based on dataset attributes and installation rules.
  3. Installation Default: A system-wide default storage class if no other class is assigned (less common for STORCLAS).

Determining the Assigned Storage Class

Use ISMF panels or the IDCAMS LISTCAT command to view the storage class assigned to an existing SMS-managed dataset.

jcl
1
2
3
4
5
//LISTCAT EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * LISTCAT ENTRIES(dataset.name) ALL /*

Look for the STORAGECLASS field in the output.

STORCLAS Exercises

Exercise 1: Create High-Performance Dataset

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.

Exercise 2: Identify 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).

Frequently Asked Questions

What happens if I specify an invalid STORCLAS?

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.

Can I change the STORCLAS of an existing dataset?

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.

How do STORCLAS, DATACLAS, and MGMTCLAS work together?

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).

Do I need STORCLAS for tape datasets?

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.

Test Your Knowledge

1. What does the STORCLAS parameter primarily determine for a new SMS dataset?

  • Record format and block size
  • Backup and migration frequency
  • Performance and availability characteristics of storage
  • Dataset name and disposition

2. In an SMS environment, what often assigns the STORCLAS automatically based on installation rules?

  • The EXEC PGM=
  • ACS Routines
  • The MGMTCLAS parameter
  • The JOB CLASS parameter

3. Which type of attribute is NOT typically part of a Storage Class definition?

  • Millisecond Response Time
  • Availability Level (e.g., Mirrored)
  • Backup Frequency
  • Device Type Preference

4. Can you change the STORCLAS of a dataset after it has been created?

  • Yes, using IDCAMS ALTER
  • Yes, by respecifying it in JCL
  • Yes, through ISMF panels
  • No, it is set at allocation time

5. Which command is used to view the assigned Storage Class of an existing SMS dataset?

  • LISTDS
  • LISTVTOC
  • LISTCAT
  • LISTSTOR