統合カタログ

本章では、カタログの構造、検索順、マスター・カタログなど、カタログについての全般的な事項およびカタログの構造と管理方法について記述し、最後に、カタログ関連のツール・プログラムについて記述します。

1. 概要

OpenFrameでは、データセットのメタ情報を管理するために、総合カタログ・モジュールと関連ツール・プログラムを提供しています。カタログは、OpenFrameデータセットのメタ情報の窓口としての役割をします。

VSAM(仮想記憶アクセス方式)データセットを使用するには、必ずデータセットがカタログに登録されている必要があります。非VSAM(非仮想記憶アクセス方式)データセットは、カタログに登録されていなくても使用できます。カタログに登録されていない非VSAMデータセットを使用する場合は、JCLにデータセットのすべての情報またはボリュームを指定する必要があります。

2. カタログ

カタログには、他のデータセットのメタ情報が格納されています。カタログを使用すると、データセットの具体的な格納位置が分からなくても、名前だけでデータセットを使用することができます。データセットをカタログ化することにより、システム・ストレージ設定についての知識がなくても、データセットを使用することができます。

2.1. カタログの構造

メインフレームでのカタログは、BCSデータセットとVVDSデータセットという2種類の異なるデータセットで構成されています。一方、OpenFrameでは、BCSデータセットはカタログ表として、VVDSデータセットはVTOCと統合されVTOC表として構成されます。

カタログ表には、データセットの基本属性、ボリューム情報、使用権限、別の項目との関連付けなどの情報が含まれます。

2.2. カタログの検索順

ユーザーがカタログに登録されたデータセットを使用する場合や、カタログに登録するデータセットを作成する際、適切なカタログを見つけるために、複数のカタログを対象として検索が行われます。

カタログの検索順は、カタログに定義されているエイリアスやカタログ名、エイリアスの検索レベルによって決まります。エイリアスの検索レベルは、データセット名の上位修飾子を何個まで検索するかを決定するシステム設定です。

ほとんどのカタログ検索は、カタログのエイリアスに基づいています。すべてのカタログに適切なエイリアスが定義されていれば、データセット名の上位修飾子が特定のカタログのエイリアスと一致することになるため、ユーザーの要求を処理する適切なカタログを簡単に見つけることができます。

前述の方法以外に、JCLでJOBCATまたはSTEPCATを使用したり、アクセス方式サービスでCATALOGパラメータを使用したりしてカタログを指定する方法があります。

以下は、データセットの検索や定義に使用されるカタログの検索順です。

  1. システム・カタログを指定した場合は、システム・カタログを検索します。

  2. IDCAMS(JSCVSUT/KQCAMS)ユーティリティのCATALOGパラメータで指定されたカタログを検索します。

  3. GDSデータセットの場合、GDG BASEが定義されているカタログを検索します。

  4. JCLでSTEPCATまたはJOBCATに指定されたカタログを検索します。

  5. 上位修飾子が特定のカタログのエイリアスである場合、そのカタログを検索します。

  6. 最後にマスター・カタログを検索します。

OpenFrameでは、システム・カタログを使用しても、JCLでAMPパラメータにAMORGを指定した場合は、システム・カタログを検索しません。

2.3. マスター・カタログ

マスター・カタログは、構造的にはユーザー・カタログと類似していますが、使用方法やカタログ化されるデータセットが異なります。OpenFrameシステムでは、一度に1つのマスター・カタログのみ使用できます。

マスター・カタログには、システムに登録されているすべてのユーザー・カタログと、ユーザー・カタログを指すエイリアス項目が登録されています。また、アプリケーション・プログラムで使用する一般的なデータセットを登録することも可能です。

マスター・カタログに登録される項目は、以下のとおりです。

カタログ・エントリ 説明

ユーザー・カタログ

システムに登録されているすべてのユーザー・カタログです。

エイリアス項目

システムに登録されているユーザー・カタログを指すエイリアス項目です。

一般的なデータセット

OpenFrameの起動に必要なシステム表、ユーザー・カタログ、エイリアス以外の一般的なデータセットです。

2.4. システム・カタログ

システム・カタログは、統合カタログを使用するの前に使われていたカタログ・システムです。OpenFrameでは、ユーザー・カタログの1つをシステム・カタログに指定して使用できます。OpenFrameシステム内では、マスター・カタログと同様に、1つのシステム・カタログのみ使用できます。

システム・カタログを使用する場合は、非VSAMとGDG、GDS、非VSAMのエイリアスをシステム・カタログに登録し、VSAMについてはマスター・カタログやユーザー・カタログ・システムに登録して使用します。

また、カタログからデータセットを検索する際、システム・カタログを使用する場合は、そこから検索することになります。ただし、JCLのFD文でAMPパラメータに「AMORG」を指定した場合は、システム・カタログを検索しません。また、dscreate、dsdelete、gdgcreate、gdgdeleteなどのデータセット管理ツールを使用して新しい非VSAMまたはGDGを定義または削除する場合は、カタログ名を指定した場合でもシステム・カタログに登録または削除します。

システム・カタログを使用するための設定については、OpenFrame Base『環境設定ガイド』を参照してください。

2.5. カタログ・エントリ

以下は、OpenFrameの統合カタログに登録するエントリの種類と各エントリの説明です。

カタログ・エントリ 説明

Non-VSAM Data Set

非VSAMデータセットのカタログ・エントリです。

カタログに登録された非VSAMデータセットは、カタログからボリューム情報を取得することが可能であり、これを利用してVTOCからデータセット情報を取得します。

GDG

世代データ・グループのカタログ・エントリです。

GDG LIMITなどのGDGの属性情報と世代データ・グループに関連するGDSデータセット名が管理されます。

GDS

世代データセットのカタログ・エントリです。

基本的に格納されるデータの内容は、非VSAMデータセット項目と同じです。関連項目として世代データ・グループ名が格納されます。

VSAM Cluster

VSAMクラスターのカタログ・エントリです。

VSAMデータ・コンポーネントと索引コンポーネントを1つの名前で管理するためにカタログに登録します。関連項目としてデータ・コンポーネントと索引コンポーネントの名前が格納されます。

Data Component

VSAMデータ・コンポーネントのカタログ・エントリです。

VSAMデータセットの実際のレコード・データが格納されるオブジェクトの項目です。

Index Component

VSAM索引コンポーネントのカタログ・エントリです。

VSAMデータセットの基本キーを迅速に検索するためのバイナリ・ツリー・オブジェクトの項目です。

Alternate Index

代替索引のカタログ・エントリです。

カタログで管理される情報の内容は基本的にVSAMクラスターと同じであり、項目の種類のみ異なります。関連項目としてデータ・コンポーネント名、索引コンポーネント名、基本クラスター名が格納されます。

Path Entry

代替索引パスのカタログ・エントリです。

代替索引を使用して基本クラスターへのアクセス・パスを定義します。関連項目として代替索引名と基本クラスター名が格納されます。

User Catalog

ユーザー・カタログのカタログ・エントリです。

ユーザー・カタログもマスター・カタログにカタログされる必要があります。格納される情報は基本的にVSAMクラスターと同様です。

Alias Entry

カタログ・エイリアスのカタログ・エントリです。

ユーザー・カタログには複数のエイリアス項目が登録でき、登録されたエイリアスを使ってカタログの検索順が調整されます。

2.6. カタログの情報

OpenFrameの統合カタログで管理する情報は、以下の情報グループに分類されます。この中で、Allocation GroupとStatistics Groupの情報はOpenFrameのシステム表で管理されます。

情報グループ 説明

History Group

項目名、項目の種類、作成日、有効期限、所有者IDが格納されます。

SMS Group

ストレージ・クラス、マネジメント・クラス、データ・クラスが格納されます。

Protection Group

セキュリティー設定とパスワードが格納されます。現在のOpenFrameでは使用されません。

Volumes Group

ボリューム・シリアルとデバイスの種類が格納されます。

Attribute Group

レコードの平均サイズと最大サイズ、キーの位置と長さ、VSAMの種類と属性、AIXの属性と共有オプションが格納されます。

GDG Group

GDGの限度、GDGの属性、最終変更日が格納されます。

Non-VSAM Group

非VSAMデータセットの種類(PDS、GDS、その他の非VSAMデータセット)情報が格納されます。

Allocation Group

最初の領域サイズ、拡張領域サイズ、最大の使用領域および拡張回数、最終変更日が格納されます。

Association Group

関連項目数と項目名、項目の種類などが格納されます。

3. カタログの管理

3.1. ユーザー・カタログの定義

アクセス方式サービスのDEFINE USERCATALOGコマンドを使用すると、新規ユーザー・カタログを定義することができます。DEFINE USERCATALOGコマンドを使用する際は、ICFCATALOGパラメータを指定する必要があります。

以下は、ユーザー・カタログのSYS1.ICFCAT.TESTを、SYS305ボリュームに作成する例です。(以下の例のIDCAMSユーティリティは、製品に応じてJSCVSUT、KQCAMSユーティリティに代替できます。)

//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) )
/*

3.2. カタログ・エイリアスの定義

システムがカタログを使用するためには、データセットを登録するカタログを決める必要があります。この際、カタログにエイリアスを定義しておくと、容易に作業を進めることができます。

エイリアスの作成が正しくない場合、ユーザーがデータセットにアクセスできないことがあります。そのため、新しいエイリアスを定義する際は、既存のデータセットに与える影響を考慮して行う必要があります。

アクセス方式サービスのDEFINE USERCATALOGコマンドを使用してユーザー・カタログを定義した後、DEFINE ALIASコマンドを使ってカタログのエイリアスを定義することができます。カタログのエイリアスは、ユーザー・カタログと同様、マスター・カタログに定義される必要があります。

以下は、ユーザー・カタログのSYS1.ICFCAT.TESTにUSER0001とPROJECTAの2つのエイリアスを定義する例です。(以下の例のIDCAMSユーティリティは、製品に応じてJSCVSUT、KQCAMSユーティリティに代替できます)

//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) )
/*

3.3. カタログ・エントリのリスト化

アクセス方式サービスのLISTCATコマンドを使用してカタログ・レコード・リストを出力し、カタログ・データセットの情報を確認することができます。

ただし、ユーザー・カタログのLISTCAT I/Oの統計情報は正確ではありません。

以下は、LISTCATを使用して特定のユーザー・カタログに関連したすべてのエイリアスを照会する例です。エイリアスは、Associations Groupセクションに表示されます。(以下の例のIDCAMSユーティリティは、製品に応じてJSCVSUT、KQCAMSユーティリティに代替できます。)

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

3.4. ユーザー・カタログの削除

アクセス方式サービスのDELETEコマンドを使用すると、ユーザー・カタログやカタログされたデータセット、その他のすべてのカタログ・エントリを削除することができます。

一般的にユーザー・カタログを削除するには、ユーザー・カタログに登録されている項目があってはなりませんが、必要に応じてオプションを使ってカタログ・エントリが含まれているユーザー・カタログを削除することができます。

ユーザー・カタログが空の場合、DELETE USERCATALOGコマンドを使って削除することができます。このコマンドは、ユーザー・カタログに登録されているデータセット項目と、マスター・カタログに登録されているユーザー・カタログ・エントリを削除します。

ユーザー・カタログが空でない場合は、DELETE USERCATALOGコマンドの使用時にFORCEオプションを使用します。FORCEオプションを使用すると、ユーザー・カタログに関連するエイリアスが削除され、そのカタログに登録されているすべてのデータセットとカタログ・エントリが削除されます。

4. 関連プログラム

関連ツールまたはユーティリティには、IDCAMS(JSCVSUT/KQCAMS)とvolmgrがあります。

ツール/ユーティリティ 説明

IDCAMS(JSCVSUT/KQCAMS)

メインフレームのデータセットおよびカタログ情報を管理するユーティリティであり、VSAMおよび非VSAMデータセットの両方を管理できます。詳細については、OpenFrame Base『ユーティリティリファレンスガイド』を参照してください。

volmgr

OpenFrame製品のインストール時に、ボリュームを使用するために必要な管理領域を作成します。詳細については、OpenFrame Base『ツールファレンスガイド』を参照してください。