Chapter 4. Integrated Catalog

Table of Contents

4.1. Overview
4.2. Catalog
4.2.1. Catalog Structure
4.2.2. Catalog Search Order
4.2.3. Master Catalog
4.2.4. System Catalog
4.2.5. Registered Catalog Entries
4.2.6. Stored Catalog Information
4.3. Managing Catalogs
4.4. Related Tools
4.4.1. volmgr

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.

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.

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.

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

Catalog EntryDescription

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.

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/UtilityDescription

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.

The volmgr tool creates, updates, deletes and queries volumes and devices during the initial setup or operation of an OpenFrame product.

Starting from OpenFrame 7.1, VOLUME, DEVICE and ESOTERIC are managed by volmgr, and ESOTERIC is now called a device group. Furthermore, a tape volume can be created by using a specific option.

When installing OpenFrame for the first time, ofruisvr requires a volume creation before startup. To create, update and delete volumes without operating ofruisvr during installation, use the -i option. After the initial installation, you must execute commands without the -i option.

To create a volume in OpenFrame, a tablespace with the same name as the volume must be defined in the database. However, a tape volume can be created without a tablespace.

Usage

The following example shows how to execute volmgr:

Usage: volmgr <command> <type> [options]
  • Parameters

    ParameterDescription

    command

    • DEFINE: Creates a new volume, device, or device group.

    • DELETE: Deletes a new volume, device, or device group.

    • UPDATE: Updates a specified volume or device.

    • LIST: Searches a volume, device, or device group.

    type

    • volume: Executes a command for the volume.

    • device: Executes a command for the device.

    • group: Executes a command for the device group.

  • Options

    The following are different options specified for each command:

    • DEFINE

      • When creating a volume

        OptionDescription

        [-v volser]

        Volume name.

        [-p path]

        Volume directory path.

        [-dn device_number]

        Device number.

        [-s spool]

        Used for a spool volume.

        [-t tape]

        Used to create a physical tape volume.

        [-lv logical_volume]

        Used to specify a logical tape volume to connect when creating a physical tape volume.

        [-i init]

        Used at the initial setup.

      • When creating a device

        OptionDescription

        [-dn device_number]

        Device number.

        [-dt device_type]

        Device type.

        • 3380: Used to create a DASD device.

        • 3480: Used to create a tape device.

        [-ms max_space]

        Maximum space.

      • When creating a device group

        OptionDescription

        [-dn device_number]

        Device number.

        [-dg device_group]

        Device group.

    • DELETE

      • When deleting a volume

        OptionDescription

        [-v volser]

        Name of the volume to be deleted.

        [-f force]

        Force deletes a volume in use.

        [-t tape]

        Used to delete a physical tape volume.

        [-i init]

        Used at the initial setup.

      • When deleting a device

        OptionDescription

        [-dn device_number]

        Number of the device to be deleted.

        [-f force]

        Force deletes a device in use.

      • When deleting a device group

        OptionDescription

        [-dg device_group]

        Device group to be deleted.

        [-dn device_number]

        Number of the device to be deleted.

    • UPDATE

      • When updating a volume

        OptionDescription

        [-v volser]

        Volume name.

        [-p path]

        Volume directory path.

        [-dn device_number]

        Device number.

        [-pv physical volume]

        Used to update a physical tape volume connected with a logical tape volume.

        [-i init]

        Used at the initial setup.

      • When updating a device

        OptionDescription

        [-dn device_number]

        Device number.

        [-dt device_type]

        Device type.

        [-ms max_space]

        Maximum space.

    • LIST

      • When searching for a volume

        OptionDescription

        [-v volser]

        Volume name.

        [-l]

        Detailed information.

        [-d]

        Uses raw type.

        [-t]

        Used to retrieve the list of defined physical tape volumes.

      • When searching for a device

        OptionDescription

        [-dn device_number]

        Device number to search for.

      • When searching for a device group

        OptionDescription

        [-dg device_group]

        Device group. Cannot be used along with the -dn option.

        [-dn device_number]

        Device number. Cannot be used along with the -dg option.

Example

The following creates a DEFVOL volume belonging to a device whose number is 0001 from a device group named SYSDA.

$ volmgr define device -dn 0001 -dt 3380 -ms 2048
$ volmgr define group -dn 0001 -dg SYSDA
$ volmgr define volume -v DEFVOL -dn 0001

volmgr version 7.1.0(10) tmax@tgumdev:oframe_7_1_src/base(#1) 2019-10-21 10:16:42
*** Volume Manager ***
COMPLETED SUCCESSFULLY!

You can verify that the volume has been successfully created as follows:

$ volmgr list volume -v DEFVOL
volmgr version 7.1.0(10) tmax@tgumdev:oframe_7_1_src/base(#1) 2019-10-21 10:16:42
*** Volume Manager ***
---------------------------------------------------------------------------------------------------------------------
  Volume        Total        Usage        Free        Tablespace    Volume Path
---------------------------------------------------------------------------------------------------------------------
  DEFVOL |   VSAM       100(MB)     13.75(%)     88320(KB)        DEFVOL         ------
         |   NONVSAM    179(GB)     76.51(%)     43145(MB)        ------         /home/tmax/oframe_7_1/volume_DEFVOL
---------------------------------------------------------------------------------------------------------------------
* Total 1 volume entries printed.

COMPLETED SUCCESSFULLY!

The following defines a tape device and logical and physical tape volumes. It creates a physical tape volume and then connects it with a logical tape volume by using the UPDATE command.

$ volmgr define device -dn 0010 -dt 3480 -ms 2048
$ volmgr define group -dn 0010 -dg STAPE
$ volmgr define volume -v STAPE1 -dn 0010
$ volmgr define volume -v ST0001 -lv STAPE1 -t
$ volmgr update volume -v STAPE1 -pv ST0001 -t

The following deletes the DEFVOL volume and 0001 device.

$ volmgr delete volume -v DEFVOL
$ volmgr delete device -dn 0001

The following deletes the SYSDA device group.

$ volmgr delete group -dg SYSDA

The following deletes the 0001 device in the SYSDA device group.

$ volmgr delete group -dg SYSDA -dn 0001

The following updates the DEFVOL volume and the 0002 device.

$ volmgr update volume -v DEFVOL -dn 0003
$ volmgr update device -dn 0002 -dt 3380 -ms 2048

The following connects the STAPE1 tape volume with the ST0002 physical tape volume.

$ volmgr update volume -v STAPE1 -pv ST0002

The following queries a volume list.

$ volmgr list volume

The result is as follows:

$ volmgr list volume
volmgr version 7.1.0(10) tmax@tgumdev:oframe_7_1_src/base(#1) 2019-10-21 10:16:42
*** Volume Manager ***
--------------------------------------------------------------------------------------------------------------------
  Volume        Total        Usage        Free        Tablespace    Volume Path
--------------------------------------------------------------------------------------------------------------------
  DEFVOL |   VSAM       100(MB)     13.75(%)     88320(KB)        DEFVOL         ------
         |   NONVSAM    179(GB)     76.51(%)     43145(MB)        ------         /home/tmax/oframe_7_1/volume_DEFVOL
--------------------------------------------------------------------------------------------------------------------
* Total 1 volume entries printed.

COMPLETED SUCCESSFULLY!

The following queries a physical tape volume list.

$ volmgr list volume -t

The result is as follows. The * mark followed by a volume name means that the physical tape volume is connected with a logical tape volume.

$ volmgr list volume -t
volmgr version 7.1.0(10) tmax@tgumdev:oframe_7_1_src/base(#1) 2019-10-21 10:16:42
*** Volume Manager ***
------------------------------------------------------------------------------------
  Volume        Linked Volume   Volume Path
------------------------------------------------------------------------------------
  NVOL00 |      STAPE1          /home/arena/oframe_71_fix3/volume_NVOL00
------------------------------------------------------------------------------------
 *ST0001 |      STAPE1          /home/arena/oframe_71_fix3/volume_ST0001
------------------------------------------------------------------------------------
 *ST0002 |      STAPE3          /home/arena/oframe_71_fix3/volume_ST0002
------------------------------------------------------------------------------------
  ST0003 |      STAPE3          /home/arena/oframe_71_fix3/volume_ST0003
------------------------------------------------------------------------------------
* Total 4 volume entries printed.

The following queries device information.

$ volmgr list device

The result is as follows:

volmgr list device
volmgr version 7.1.0(10) tmax@tgumdev:oframe_7_1_src/base(#1) 2019-10-21 10:16:42
*** Volume Manager ***
-------------------------------------------------------------------------------------------
  Device Number   |    Device Type        Volume        Space Limit
-------------------------------------------------------------------------------------------
  0001            |    3380               3000          4096
-------------------------------------------------------------------------------------------
  0002            |    3380               DEFVOL        2048
-------------------------------------------------------------------------------------------
  0005            |    3380               4000          4096
-------------------------------------------------------------------------------------------

The following queries device group information.

$ volmgr list group

The result is as follows:

volmgr list device
volmgr version 7.1.0(10) tmax@tgumdev:oframe_7_1_src/base(#1) 2019-10-21 10:16:42
*** Volume Manager ***
-------------------------------------------------------------------------------------------
  Device Group    |    Device Number        Device Type        Volume        Space Limit
-------------------------------------------------------------------------------------------
  SYSBB           |    0005                 3380               3000          4096
-------------------------------------------------------------------------------------------
  SYSDA           |    0001                 3380               DEFVOL        2048
                  | -----------------------------------------------------------------------
                  |    0002                 3380               4000          4096
-------------------------------------------------------------------------------------------