Integrated Catalog

This chapter provides a general description of the catalog including its structure, searching order and the master catalog, and describes how to manage catalogs and use associated tools.

1. Overview

In OpenFrame, the integrated catalog module and related tools are provided to manage meta information about data sets. A catalog plays the role of a central information counter for a data set.

VSAM data sets must be registered in a catalog before being used. Non-VSAM data sets may be used without being registered to the catalog. To use a non-VSAM data set that are not registered in a catalog, you must specify all information about the data set or the volume on which the data set resides.

2. Catalog

A catalog contains meta information about other data sets. By cataloging a data set, you can access the data set with its name even when you do not know the exact location of the data set. This allows you to use data sets without knowing system storage settings.

2.1. Catalog Structure

The catalog is composed of two types of data sets in mainframe systems: BCS data sets and VVDS data sets. In OpenFrame, a BCS data set comprises a catalog table, and a VVDS data set is combined with VTOC to form a VTOC table. A catalog table includes information about basic attributes, volume, user permissions, and relationships with other entries.

2.2. Catalog Search Order

When you use a cataloged data set or create a data set to be registered in a catalog, multiple catalogs are searched in order to find an appropriate catalog.

A catalog search order is decided by the catalog alias, name, or alias search level. An alias search level is a system setting that determines how many high-level qualifiers for data set names are to be examined.

Most catalog searches are based on the catalog alias. An appropriate alias is identical to the high-level qualifier of a data set name, and if all catalogs have such aliases, the system easily finds a catalog that is needed to process your request.

Alternatively, you can specify catalogs by using JOBCAT or STEPCAT in JCL, or the access method services CATALOG parameter.

The following is the order of search conditions used to find or define a data set.

  1. If the system catalog is specified, the catalog is searched.

  2. When the IDCAMS utility CATALOG parameter is given, the corresponding catalog is searched.

  3. If it is a GDS data set, the catalog with a defined GDG BASE is searched.

  4. The catalog designated by STEPCAT or JOBCAT in JCL is searched.

  5. If a high-level qualifier of a specific catalog is an alias, the catalog is searched.

  6. Lastly, the master catalog is searched.

When you are using a system catalog with the AMP parameter set to AMORG, the system catalog is not searched.

2.3. Master Catalog

A master catalog is similar to a user catalog in terms of structure. The difference between the two is how it is being used and what data sets are being cataloged. The OpenFrame system can only use one master catalog at a time.

The master catalog has all the user catalogs registered to a system and all the alias entries pointing to user catalogs. General data sets used by an application as well as user catalogs can be registered to a system.

Entries being registered to a master catalog are as follows:

Catalog Entry Description

User catalog

All user catalogs registered in a system.

Alias entry

Alias entries pointing to the user catalogs registered in a system.

General dataset

System tables and user catalogs required to start OpenFrame and general data sets excluding alias entries.

2.4. System Catalog

A system catalog has been used before integrated catalogs. It can be used in OpenFrame by specifying a user catalog as the system catalog. The OpenFrame system can only use one system catalog at a time as for the master catalog.

When using the system catalog, non-VSAM, GDG, GDS, and non-VSAM alias entries are registered in the system catalog and VSAM entries are registered in a master or user catalog.

To find a data set, the data set is first searched in the system catalog. However, if AMORG is specified in the AMP parameter of an FD statement in JCL, the data set is not searched in the system catalog. When a new non-VSAM data set or GDG is defined or deleted using a data set management tool, such as dscreate, dsdelete, gdgcreate, and gdgdelete, it is defined in or deleted from the system catalog even if a particular catalog name is specified.

For more information about configuration for using the system catalog, refer to OpenFrame Configuration Guide.

2.5. Registered Catalog Entries

The entry types registered in the OpenFrame integrated catalog and descriptions of each catalog entry are described as follows:

Catalog Entry Description

Non-VSAM Data Set

Non-VSAM data set catalog entry. If a non-VSAM data set is registered in a catalog, its volume information can be found in the catalog. Using the volume information, the data set information can be obtained from VTOC.

GDG

GDG catalog entry. It includes GDG attributes, such as GDG LIMIT, and names of associated data sets.

GDS

GDS catalog entry. The data being stored, in general, is identical to a non-VSAM data set entry. It stores the GDG name as a related entry.

VSAM Cluster

VSAM cluster catalog entry. It is registered into the catalog to manage the VSAM data and index components with a single name. It stores data and index components' names as related entries.

Data Component

VSAM data component catalog entry. This is the object that stores the actual record data of VSAM data set.

Index Component

VSAM index component catalog entry. As an entry for the binary tree object, it allows for a faster search of the VSAM data set’s primary key.

Alternate Index

Alternate index catalog entry. The information being managed in the catalog is basically identical to that of the VSAM cluster, but the entry type is different. It stores the data component’s name, index component’s name, and the base cluster’s name as related entries.

Path Entry

Alternate index path catalog entry. It defines the access path to a base cluster using the alternate index. It stores the alternate index name and base cluster name as related entries.

User Catalog

Catalog entry about user catalogs. User catalogs must also be cataloged in the master catalog, and the information stored is basically identical to the VSAM cluster.

Alias Entry

Catalog entry about an alias. User catalogs can have multiple alias entries, and the aliases are used to determine the catalog search order.

2.6. Stored Catalog Information

Information managed by the OpenFrame integrated catalog can be categorized into the information groups defined in the following table. Information from the Allocation Group and Statistics Group is managed in OpenFrame system tables.

Information Group Description

History Group

Stores entry name, entry type, created data, expiry data and owner ID.

SMS Group

Stores storage class, management class, and data class.

Protection Group

Stores security setting and passwords. (Not supported in OpenFrame)

Volumes Group

Stores volume serial and device type.

Attribute Group

Stores average record size, maximum record size, key position, key length, VSAM type, VSAM attribute, AIX attribute and share option.

GDG Group

GDG limit, GDG attribute, and last modified date.

Non-VSAM Group

Stores type (PDS, GDS, or general) of the non-VSAM data set.

Association Group

Stores information such as related entry count, entry name, and entry type.

3. Managing Catalogs

User Catalog Definition

A new user catalog can be defined with the DEFINE USERCATALOG command of access method services. When using the DEFINE USERCATALOG command, the ICFCATALOG parameter must be specified.

The following example shows how a user catalog is created with the name SYS1.ICFCAT.TEST in the volume named SYS305. (The IDCAMS utility used in the example can be replaced with JSCVSUT or KQCAMS depending on the product.)

//DEFCAT   EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=A
//SYSIN    DD *
  DEFINE USERCATALOG                  -
         ( NAME(SYS1.ICFCAT.TEST)     -
           MEGABYTES(15 15)           -
           VOLUME(SYS305)             -
           ICFCATALOG                 -
           FREESPACE(10 10)           -
           STRNO(3) )                 -
         DATA( CISZ(4096)             -
               BUFND(4) )             -
         INDEX( BUFNI(4) )
/*
Catalog Alias Definition

To use the catalog, the system must decide which specific data set is to be registered in which catalog, and the easiest way to achieve this is by defining an alias in the catalog.

There are cases when the user cannot access the data set due to an incorrect alias definition. Hence, you must carefully consider the effect a new alias may have on the existing data set.

After using the DEFINE USERCATALOG command of the access method services to define a user catalog, the DEFINE ALIAS command can be used to define an alias in the catalog. The catalog alias, like the user catalog, must be defined in the master catalog.

The following example defines two aliases, USER0001 and PROJECTA, in a user catalog named SYS1.ICFCAT.TEST. (The IDCAMS utility used in the example can be replaced with JSCVSUT or KQCAMS depending on the product.)

//ALIAS    EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=A
//SYSIN    DD *
  DEFINE ALIAS                        -
         ( NAME(USER0001)             -
           RELATE(SYS1.ICFCAT.TEST) )
  DEFINE ALIAS                        -
         ( NAME(PROJECTA)             -
           RELATE(SYS1.ICFCAT.TEST) )
/*
Catalog Entry Listing

Using the LISTCAT command of the access method services, you can output the catalog record list and verify the catalog data set information. However, the LISCAT I/O statistical information about the user catalog is not accurate.

The following example shows how to check all aliases related to a specific user catalog by using LISTCAT. The alias is displayed in the Associations Group section. (The IDCAMS utility used in the example can be replaced with JSCVSUT or KQCAMS depending on the product.)

//LSTALIAS EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=A
//SYSIN    DD *
  LISTCAT ALL ENTRIES(SYS1.ICFCAT.TEST)
/*
User Catalog Deletion

The DELETE command of the access method services can be used to delete user catalogs, cataloged data sets, and all other catalog entries.

Generally, there must be no registered entry in the user catalog that needs to be deleted. If there is, an option can be used to delete a user catalog that contains catalog entries.

If a user catalog is empty, the DELETE USERCATALOG command can be used to delete the user catalogs. This command removes data sets registered in the user catalog and user catalog entries registered in the master catalog.

If a user catalog is not empty, the DELETE USERCATALOG command can be used with the FORCE option. The FORCE option deletes aliases linked to a user catalog, which in turn deletes all data sets and catalog entries registered in the user catalog.

Related tools include IDCAMS(JSCVSUT/KQCAMS) and volmgr.

Program/Utility Description

IDCAMS(JSCVSUT/KQCAMS)

Utility that manages mainframe data set and catalog information (for both VSAM and Non-VSAM data sets). For more information, refer to OpenFrame Utility Reference Guide.

volmgr

Tool that creates a space for managing volumes during the initial setup of an OpenFrame product. For more information, refer to OpenFrame Tool Reference Guide.