REORDATA 機能は、すべてのファイルに対してデータストレージをリオーダします。 指定のないファイルについては、既存の定義に従ってリオーダします。 REORDATA 機能は、ADAM ファイルをリオーダしません。 しかし、これは、異なる RABN に ADAM ファイルの再配置に使用できます。
この機能は、オペレーション時に使用されるデータベースファイルに対して EXF 排他制御を必要とします。 また、ADAORD の実行中に、データベースは部分的に上書きされます。したがって、ADAORD 機能を実行する前にデータベース(またはファイル)を ADASAV ユーティリティでバックアップしておいてください。
次に、ADAORD REORDATA 機能の構文を示します。
このドキュメントでは、次のトピックについて説明します。
ALLOCATION は、配置パラメータ DSRABN に従ってファイルエクステント割り当てが得られない場合に取るべき動作を指定します。
デフォルト(すなわち ALLOCATION=FORCE)の場合は、RABN 配置パラメータに従ったファイルエクステント割り当てができないと、このユーティリティはエラーで終了します。
ALLOCATION=NOFORCE の場合は、割り当てができないと、配置パラメータに関係なく再度割り当てようとします。
DATAPFAC は、新データストレージパディングファクタを指定します。指定値は、リオーダ処理時レコード拡張のために確保される各データストレージブロックのパーセントを表します。 1 から 90 までの範囲の値が指定できます(パディングファクタの設定の詳細については ADALOD LOAD DATAPFAC パラメータに関する説明を参照してください)。 このパラメータ指定がなければ、ファイルに対して現在有効なパディングファクタが使用されます。
注意:
DATAVOLUME パラメータは単一引用符でくくらなければなりません。
ファイルのデータストレージスペースエクステントを割り当てるときに使用するボリューム番号を指定します。 DSSIZE で要求されたブロックの数が指定ボリュームに存在しないと、ADAORD はデフォルト割り当てルールに従って、他ボリュームの残りのブロックを割り当てます。
DSRABN を指定した場合、関連ファイルに対する DATAVOLUME は無視されます。
DATAVOLUME を指定しないと、ファイルの現在のサイズに基づいてデータストレージスペースが割り当てられます。 DSRELEASE パラメータは、必要なスペースの量にも影響を与えます。
DSDEV は、そのファイルのデータストレージのデバイスタイプです。 指定デバイスタイプは、通常、そのデータベースの作成時か、あるいは ADADBS ユーティリティの ADD 機能によって、すでに Adabas に対して定義されているものでなければなりません。
DSDEV が指定されない場合、ADAORD はリオーダ前に使用されていたデバイスタイプでファイルを割り当てようとします。
指定されたファイルのデータストレージエクステントの開始 RABN です。 このパラメータ指定がなければ、ADAORD が開始 RABN を割り当てます。
DSRELEASE を指定することで、指定ファイルに属する未使用のデータストレージ(DS)ブロックが解放されます。 DSRELEASE が指定されない場合には、少なくともそのファイルがリオーダされる以前に割り当てられた DS ブロック数が ADAORD によって割り当てられます。
注意:
Adabas
は、あらゆる変更されたパディングファクタまたはファイルがリオーダされる前のブロックサイズ値を用いてファイルのエクステントサイズを計算します。
DSSIZE は、ファイルのデータストレージ(DS)の論理エクステントに対して割り当てられるブロック数またはシリンダ数を指定します。 値をブロック単位で指定する場合、値の後に "B" を指定する必要があります("2000B" など)。
このパラメータが省略されると、そのファイルのエクステントサイズは DATAPFAC パディングファクタ内での全増減に比例して ADAORD によって計算されます。
FILE は、後続のパラメータセットが適用されるファイルを指定します。 指定された各ファイルおよびそのパラメータは、ADAORD REORDATA ステートメントに続く別個の ADAORD ステートメントでそれぞれ指定する必要があります。
番号が指定されないファイルについては、現在の物理順でリオーダされ、現在のデータストレージパディングファクタおよびスペース割り当ては保持されます。
LIP パラメータは、アドレスコンバータの再作成時のアソシエータの入出力処理の回数を減少させるために使用できます。 処理対象となる中で一番規模が大きいファイルの全 ISN を受け入れるだけの大きさを指定したときに最適のパフォーマンスとなります。
ISN と割り当てられたデータストレージ RABN を入れるための ISN プールサイズを指定します。 値はバイト単位で指定し、数値のみ("2048" など)を指定するか、あるいは数値の後に "K" を付けて("2K" など)キロバイト単位で指定します。 LIP のデフォルトは 16384 バイト(または 16K)です。
1 件の入力レコード長は、ISNSIZE + RABNSIZE です。 したがって、エントリ長は、最小 6 バイト(ファイルの ISNSIZE が 3 でデータベースの RABNSIZE が 3 の場合)、最大 8 バイト(ISNSIZE が 4 で RABNSIZE が 4 の場合)になります。
LPB は、内部プリフェッチバッファの大きさをバイト単位で指定するものです。 指定可能な最大値は、32,760 バイトです。 デフォルトは、ADARUN LU パラメータの指定に依存します。 LU 値が小さすぎる場合には、LPB 値が指定値よりも小さくなることがあります。
ファイルの最大圧縮レコード長の制限を変更するには、MAXRECL パラメータを使用します。 MAXRECL を指定すると、次の 2 つの効果があります。
ファイルの DATA データセットは、指定された長さをサポートするデバイスに対してのみ割り当てられます。
指定された長さを超えるデータストレージレコードがファイル内に含まれている場合、ADAORD は異常終了し、ERROR-126 メッセージ(データストレージレコードが長すぎる)を出力します。
MAXRECL を指定しなければ、最大圧縮レコード長は変更されません。
機能の実行中にエラーになると、ユーティリティは、エラーメッセージを出力してユーザーアベンド 34(ダンプあり)またはユーザーアベンド 35(ダンプなし)で終了します。
NOUSERABEND を指定すると、ユーティリティは、エラーメッセージを出力してもアベンドしません。 代りに、メッセージ "utility TERMINATED DUE TO ERROR CONDITION"(エラーのためユーティリティを終了します)を表示してコンディションコード 20 で終了します。
RAID は、ADAORD に、データベースに存在しないファイルを参照するあらゆる FILE パラメータを無視するように指示します。
RAID が指定されない場合(デフォルト)、ADAORD は、データベースに存在しないファイルを参照する FILE パラメータを検出すると、エラーメッセージを出力して終了します。
RAID パラメータは、Adabas Recovery Aid(ADARAI)で構築されたリカバリジョブで使用する場合に指定します。
SORTSEQ は、ファイルを処理する順番を指定します。 このパラメータを省略すると、レコードが物理順で処理されます。
ディスクリプタを指定すると、ファイルがディスクリプタ値の論理順で処理されます。 空値省略されたディスクリプタフィールド、ハイパーディスクリプタ、フォネティックディスクリプタ、マルチプルバリューフィールド、またはピリオディックグループ内のディスクリプタは指定してはなりません。
注意:
ディスクリプタフィールドまたは後続のフィールドが初期化されていない(値を持たない)場合は、空値省略されたディスクリプタフィールドでなくても、そのレコードはインバーテッドリストに含まれません。
したがって、そのレコードはユーティリティの実行時に除外されます。
ISN を指定すると、ファイルが ISN 昇順に処理されます。 また、Adabas チェックポイントまたはセキュリティファイルについては、SORTSEQ=ISN しか許可されません。
このパラメータは、実際に処理を行わずに構文をテストします。 指定したパラメータの構文だけがテストされ、値や変数の正当性はテストされません。
ADAORD REORDATA
データベース全体のデータストレージをリオーダします。
ADAORD REORDATA ADAORD FILE=1,DSRABN=1000,DSSIZE=200B ADAORD FILE=4,SORTSEQ=AA ADAORD FILE=5,DATAPFAC=15
データストレージをリオーダします。 ファイル 1 のデータストレージは RABN 1,000 から開始し、200 ブロックを割り当てます。 ディスクリプタ AA を順序制御に使用して、ファイル 4 をリオーダします。 ファイル 5 のデータストレージパディングファクタは 15 %にセットします。 既存の定義に従って、他のすべてのデータベースをリオーダします。