Vsam-cluster

提供:Dev Guides
移動先:案内検索

VSAM-クラスター

VSAMクラスターは JCL で定義されています。 JCLは IDCAMS ユーティリティを使用してクラスターを作成します。 IDCAMSは、アクセス方式サービス用にIBMが開発したユーティリティです。 主にVSAMデータセットを定義するために使用されます。

クラスターの定義

次の構文は、 Define Cluster、Data および Index の下にグループ化された主要なパラメーターを示しています。

.DEFINE CLUSTER (NAME(vsam-file-name)      -
BLOCKS(number)                             -
VOLUMES(volume-serial)                     -
[INDEXED/NONINDEXED/NUMBERED/LINEAR] -
RECSZ(average maximum)                     -
[FREESPACE(CI-Percentage,CA-Percentage)]   -
CISZ(number)                               -
[KEYS(length offset)]                      -
[READPW(password)]                         -
[FOR(days)|TO(date)]                       -
[UPDATEPW(password)]                       -
[REUSE/NOREUSE] )                        -
DATA                                       -
   (NAME(vsam-file-name.data))             -
INDEX                                      -
   (NAME(vsam-file-name.index))            -
CATALOG(catalog-name[/password]))

クラスターレベルのパラメーターはクラスター全体に適用されます。 DATAまたはINDEXレベルのパラメーターは、データまたはインデックスコンポーネントにのみ適用されます。

次の表で各パラメーターについて詳しく説明します-

Sr.No Parameters with Description
1

DEFINE CLUSTER

Define Clusterコマンドは、クラスターを定義し、クラスターとそのコンポーネントのパラメーター属性を指定するために使用されます。

2

NAME

NAMEは、クラスターを定義するVSAMファイルの名前を指定します。

3

BLOCKS

Blocksは、クラスターに割り当てられたブロックの数を指定します。

4

VOLUMES

ボリュームは、クラスターまたはコンポーネントを含む1つ以上のボリュームを指定します。

5

INDEXED/NONINDEXED/NUMBERED/LINEAR

このパラメーターは、作成するデータセットのタイプに応じて、INDEXED、NONINDEXED、またはNUMBEREDの3つの値を取ることができます。 キー順(KSDS)ファイルの場合、INDEXEDオプションが使用されます。 入力順(ESDS)ファイルの場合、NONINDEXEDオプションが使用されます。 relative-record(RRDS)ファイルの場合、NUMBEREDオプションが必要です。 Linear(LDS)ファイルの場合、LINEARオプションが必要です。 このパラメーターのデフォルト値はINDEXEDです。 KSDS、ESDS、RRDS、およびLDSの詳細については、今後のモジュールで説明します。

6

RECSZ

レコードサイズパラメータには、平均レコードサイズと最大レコードサイズの2つの値があります。 Averageはファイル内の論理レコードの平均長を指定し、Maximumはレコードの長さを示します。

7

FREESPACE

Freespaceは、データコンポーネントの制御インターバル(CI)および制御エリア(CA)のために確保する空きスペースの割合を指定します。 このパラメーターのデフォルト値はゼロパーセントです。

8

CISZ

CISZは、制御間隔サイズとして知られています。 制御間隔のサイズを指定します。

9

KEYS

キーパラメーターは、キーシーケンス(KSDS)ファイルでのみ定義されます。 最初の列からの主キーの長さとオフセットを指定します。 このパラメーターの値の範囲は1〜255バイトです。

10

READPW

READPWパラメーターの値は、読み取りレベルのパスワードを指定します。

11

FOR/TO

このパラメーターの値は、ファイルを保持するための日付と日数で時間を指定します。 このパラメーターのデフォルト値はゼロ日です。

12

UPDATEPW

UPDATEPWパラメーターの値は、更新レベルのパスワードを指定します。

13

REUSE/NOREUSE

REUSEパラメーターを使用すると、クラスターを削除および再定義せずに空の状態にリセットできるクラスターを定義できます。

14

DATA - NAME

クラスターのDATA部分には、ファイルの実際のデータを含むデータセット名が含まれています。

15

INDEX-NAME

クラスターのINDEX部分には、データ部分の対応するレコードの主キーとメモリポインターが含まれます。 キーシーケンスクラスタが使用されるときに定義されます。

16

CATALOG

Catalogパラメーターは、ファイルが定義されるカタログを示します。 カタログについては、今後のモジュールで個別に説明します。

以下は、JCLでクラスターを定義する方法を示す基本的な例です-

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1  EXEC PGM = IDCAMS
//SYSPRINT DD  SYSOUT = *
//SYSIN    DD  *
   DEFINE CLUSTER (NAME(MY.VSAM.KSDSFILE)  -
   INDEXED                                 -
   RECSZ(80 80)                            -
   TRACKS(1,1)                             -
   KEYS(5  0)                              -
   CISZ(4096)                              -
   FREESPACE(3 3) )                        -
   DATA (NAME(MY.VSAM.KSDSFILE.DATA))      -
   INDEX (NAME(MY.VSAM.KSDSFILE.INDEX))
/*

Mainframesサーバーで上記のJCLを実行する場合。 MAXCC = 0で実行し、MY.VSAM.KSDSFILE VSAMファイルを作成します。

クラスターの削除

VSAMファイルを削除するには、IDCAMSユーティリティを使用してVSAMクラスターを削除する必要があります。 DELETEコマンドは、カタログからVSAMクラスターのエントリーを削除し、オプションでファイルを削除することにより、オブジェクトが占有するスペースを解放します。 VSAMデータセットの有効期限が切れていない場合、削除されません。 そのようなタイプのデータセットを削除するには、PURGEオプションを使用します。

DELETE data-set-name CLUSTER
[ERASE/NOERASE]
[FORCE/NOFORCE]
[PURGE/NOPURGE]
[SCRATCH/NOSCRATCH]

上記の構文は、Deleteステートメントで使用できるパラメーターを示しています。 私たちは次の表でそれらのそれぞれについて詳しく説明します-

Sr.No Parameters with Description
1

ERASE/NOERASE

ERASEオプションは、カタログ内のオブジェクトに指定されたERASE属性をオーバーライドするために指定されます。 NOERASEオプションはデフォルトで使用されます。

2

FORCE/NOFORCE

FORCEオプションを指定すると、SPACEおよびUSERCATALOGが空でなくても削除されます。 NOFORCEオプションはデフォルトで使用されます。

3

PURGE/NOPURGE

PURGEオプションは、データセットの有効期限が切れていない場合にVSAMデータセットを削除するために使用されます。 NOPURGEオプションはデフォルトで使用されます。

4

SCRATCH/NOSCRATCH

SCRATCHオプションを指定して、ボリュームの目次からオブジェクトの関連エントリを削除します。 主にGDGのような非VSSデータセットに使用されます。 NOSCRATCHオプションはデフォルトで使用されます。

以下は、JCLでクラスターを削除する方法を示す基本的な例です-

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEPNAME EXEC PGM = IDCAMS
//SYSPRINT DD  SYSOUT = *
//SYSIN    DD  *
   DELETE MY.VSAM.KSDSFILE CLUSTER
    PURGE
/*

Mainframesサーバーで上記のJCLを実行する場合。 MAXCC = 0で実行され、MY.VSAM.KSDSFILE VSAMファイルが削除されます。