INCREASE 機能は、現在アソシエータまたはデータストレージに使用されている最終のデータセットのサイズを拡張します。 この機能は、アソシエータに対しては何回でも実行できます。 データストレージスペーステーブル(DSST)の最大数が 99 であることによって、データストレージの増加がある程度制限されます。この最大数に達した場合は、ADAORD ユーティリティの REORASSO または REORDB 機能を使用して 99 のデータストレージエクステントのすべてを組み合わせて単一のエクステントにする必要があります。
注意:
このドキュメントでは、次のトピックについて説明します。
アソシエータまたはデータストレージデータセットによって必要とされるブロックまたはシリンダの追加数です。 ブロックを指定する場合は、値の後に "B"(DATASIZE=50B など)を付加します。
機能の実行中にエラーになると、ユーティリティは、エラーメッセージを出力してユーザーアベンド 34(ダンプあり)またはユーザーアベンド 35(ダンプなし)で終了します。
NOUSERABEND を指定すると、ユーティリティは、エラーメッセージを出力してもアベンドしません。 代りに、メッセージ "utility TERMINATED DUE TO ERROR CONDITION"(エラーのためユーティリティを終了します)を表示してコンディションコード 20 で終了します。
TEST パラメータを使用すると、実際に操作を実行せずに構文をテストできます。 指定したパラメータの構文だけがテストされ、値や変数の正当性はテストされません。 このパラメータの使用に関する詳細については、「TEST パラメータによる構文チェック」を参照してください。
アソシエータを 400 シリンダ増加します。
ADADBS INCREASE ASSOSIZE=400
アソシエータまたはデータストレージのサイズを増加する一般的な手順は、次のとおりです。
ADASAV ユーティリティを使用してデータベースをバックアップします。 このステップは任意ですが、実行することをお勧めします。
ADADBS INCREASE 機能を実行します。
ADAFRM ユーティリティで、データセットに追加されている新しいスペースをフォーマットします。
z/OS では、JCL で DISP=MOD パラメータを指定することで同じデータセットをフォーマットできます。 増加しているデータセットの SPACE パラメータは次のように指定します。
SPACE=(CYL,(0,n))
ここでは、n が追加するスペースの量(シリンダ数)です。 また、ADAFRM コントロールステートメントでは、追加するシリンダ数も指定します。 フォーマットするデータセットの増加部分が新しいボリュームに含まれる場合、JCL の VOL パラメータには、データセットを含む全ボリュームへの参照が含まれている必要があります。
現在 300 シリンダを含むアソシエータデータセットに 400 シリンダを追加します。 INCREASE 機能のコントロールステートメントは次のとおりです。
ADADBS INCREASE ASSOSIZE=400
次の JCL 例では、ADAFRM を使用してアソシエータデータセットを増加します。
//DDASSOR1 DD DSN=....,DISP=MOD,SPACE=(CYL,(0,400))
実際の ADAFRM コントロールステートメントは次のとおりです。
ADAFRM ASSOFRM SIZE=400
例 1 での増加を複数のボリュームに対して行う場合は、JCS でボリュームを指定します。
//DDASSOR1 DD DSN=... // DISP=(MOD,CATLG),VOL=SER=(V1,V2,...),SPACE=(CYL,(0,400))...
INCREASE ステップの後で、FORMAT ステップの前に、次のステップを組み込んで正しいカタログエントリを実行します。
//UNCATLG EXEC PGM=IEFBR14 //DDASSOR1 DD DSN=...,DISP=(SHR,UNCATLG)
アソシエータまたはデータストレージの増加には、次の手順をお勧めします。
現データベースを保存します。
ADAEND オペレータコマンドで Adabas セッションを通常終了させます。
同じボリュームに新しいエクステントを追加するために、データベースを定義する JCS を更新します。
同一または異なる VSE ボリューム上の新しいアソシエータまたはデータエクステントを ADADBS INCREASE で増加し、ADAFRM でフォーマットする前に、そのボリュームの目次(VTOC)を更新して新しいエクステントを加える必要があります。
1 つのボリュームエクステントの場合は、次の例のようなジョブを使用して VTOC を更新してください。
* $$ JOB JNM=jobname * $$ LST ... * $$ PCH ... // ASSGN SYS001,DISK,VOL=volume,SHR // DLBL ASSOEXT,'dsname',99/365,DA // EXTENT SYS001,volume1,1,0,starttrack1,trackcount1 // EXTENT SYS001,volume1,1,1,starttrack2,trackcount2 // EXEC ASSEMBLY,GO MODVTOC CSECT BALR 9,0 BCTR 9,0 BCTR 9,0 USING MODVTOC,9 OPEN ASSOEXT CLOSE ASSOEXT EOJ RC=0 ASSOEXT DTFPH TYPEFLE=OUTPUT,DEVADDR=SYS001,DEVICE=DISK,MOUNTED=ALL END /* /& * $$ EOJ
2 つのボリュームエクステントの場合は、次の例のようなジョブを使用してください。
* $$ JOB JNM=jobname * $$ LST ... * $$ PCH ... // ASSGN SYS001,DISK,VOL=volume1,SHR // ASSGN SYS002,DISK,VOL=volume2,SHR // DLBL ASSOEXT,'dsname',99/365,DA // EXTENT SYS001,volume1,1,0,starttrack1,trackcount1 // EXTENT SYS002,volume2,1,1,starttrack2,trackcount2 // EXEC ASSEMBLY,GO MODVTOC CSECT BALR 9,0 BCTR 9,0 BCTR 9,0 USING MODVTOC,9 OPEN ASSOEXT CLOSE ASSOEXT EOJ RC=0 ASSOEXT DTFPH TYPEFLE=OUTPUT,DEVADDR=SYS001,DEVICE=DISK,MOUNTED=ALL END /* /& * $$ EOJ
注意:
このジョブによって VSE エラーメッセージ 4733D がコンソールに送られ、オペレータに対するレスポンスが要求されます。
JCS がチェックされると、オペレータレスポンスは DELETE
になっている必要があります。
ADADBS INCREASE 処理を実行します。
新エクステントをフォーマットするために、新しい ADAFRM ジョブを実行します。 次の例で示されているように、ADAFRM ジョブでは FROMRABN パラメータを指定する必要があります。
ADAFRM ASSOFRM SIZE=size,FROMRABN=rabn-number
ここでは、size がデータセットを増加するシリンダまたはブロックの数で、rabn-number が新しいエクステントにおける最初の RABN です。
Adabas ニュークリアスを開始します。
注意:
VM 環境では、マルチボリューム、マルチエクステントファイルに対して特定の制約が適用されます。 これらの制約が侵害されると、VSE
エラー 4n83I(無効な論理ユニット)が発生します。 これらの制約の詳細については、適切な IBM マニュアルを参照してください。
z/VM には、データベースを増加させるための 2 つの手順があります。 1 つの手順では ADAMAINT および INCREASE EXEC を使用し、もう 1 つの手順ではマニュアル操作を順次行います。
EXEC プロシージャ
ユーザーの CMS 環境を修正するために ADAMAINT EXEC をコールします。
ADFnnnnn EXEC,
DBnnnnn VOLUMES
volume=vol-id,
...
ADAMAINT により、既存の ASSO/DATA/WORKRx へのミニディスクの追加、または新しい ASSO/DATA/WORKR x の定義が必要となります。
INCREASE EXEC をコールします。 この EXEC では、自動的に LINK、ADADBS ADD または INCREASE が(ADAMAINT でのユーザー指定に従って)実行され、次に ADAFRM を使用して新しいエリアがフォーマットされます。
マニュアル操作
必要とするサイズよりも 1 シリンダ(または疑似シリンダ)大きい新規ミニディスクを定義します。
FORMAT コマンドを発行します。
FORMATcuu T nnn
ここでは、cuu が新しいミニディスクの仮想ユニットアドレスであり、nnn は CKD デバイスに対しては "1"、FBA デバイスに対しては "20" です。 ボリュームラベルが要求された場合には、6 文字までの英数字でユニークな名前を指定する必要があります。
次のコマンドでミニディスクを予約します。
RESERVE file-name file-type T
ここでは、file-name および file-type がプライマリミニディスク上のファイルに使用されるファイル名およびファイルタイプと一致する必要があります。
このドキュメントで説明されている手順に従って ADADBS INCREASE を実行します。
ADAEND で Adabas セッションを終了させます。
ADAREP レポートを作成し、新規エクステント内の最初の RABN を検索します。 これはデータベースの物理レイアウト部分に配置されている場合があります。 このエクステント上での RABN 範囲は VOLSER NUMBER xxxxxx で示されます。
必要に応じて、ディレクトリまたは PROFILE EXEC に新規ミニディスク用の CP LINK ステートメントを追加します。 このデータベースにマルチライトアクセスを行う他のすべての仮想マシン(DBA マシンなど)に対して、PROFILE EXEC または CP ディレクトリエントリを更新します。
更新が必要な EXEC に対しては、ファイルに対する DATADEF ステートメントを修正します。 Software AG の標準の EXEC が使用されている場合、これらの DATADEF ステートメントは ADFnnnnn EXEC にあり、nnnnn は 5 桁のデータベース ID を表します。
DATADEF ステートメントを変更するには、次の行を配置します。
volx =
vol-id
volx が アソシエータの場合は "a"、DATA の場合は "d" である場合、vol-idは前のボリュームリストです。 この行を変更します。
volx
=(vol-id,vo-label)
ここでは、vo-label は、ステップ 2 で FORMAT コマンドの入力中に指定されたボリュームラベルです。
ファイルに対して次のように ADAFRM ユーティリティを実行します。
ADAFRM xxxxFRM SIZE=size,FROMRABN=rabn-number
ここでは次の内容を表しています。
xxxx | ASSO または DATA のいずれか |
size | ミニディスクから 1 シリンダ(または疑似シリンダ)を引いたサイズ |
rabn-number | ステップ 6 で作成されたレポートでの表示のとおり新しいエクステントにおける最初の RABN |
次の手順を使用して BS2000 システムでデータベースを増加します。
セクション「一般手順」の説明に従って ADADBS INCREASE を実行します。
ADAEND で Adabas セッションを終了させます。
ADAREP ユーティリティを実行してデータベースレポートを生成します。 レポートを使用して、レポートの "Physical Layout of the Database" 部分で新しいエクステントの最初の RABN を検索します。 RABN 範囲は "VOLSER NUMBER" 列に示されます。
BS2000 MODIFY-FILE-ATTRIBUTE コマンドでデータセットを増加します。 例としては、次のようなものがあります。
/MODIFY-FILE-ATTRIBUTE ADA99.ASSO,PUB(SPACE=REL(400))
注意:
古い ISP フォーマットでは、FILE
コマンド、例えば、 /FILE ADA99.ASSO, SPACE=400
で実行しました。
ADAFRM ユーティリティを実行して新しいスペースをフォーマットします。 ステップ 4 で追加されるスペースの例:
ADAFRM ASSOFRM SIZE=400B,FROMRABN=rabn-number
rabn-number で新しいエクステントの最初の RABN がレポートでの表示通りに指定されています。