バージョン 8.1.3
 —  ユーティリティ  —

LOAD:ファイルのロード

graphics/util_adalod_load.png

このドキュメントでは、次のトピックについて説明します。


基本パラメータ

DSSIZE:データストレージのエクステントサイズ

DSSIZE では、ファイルのデータストレージの論理エクステントに対して割り当てるブロック数またはシリンダ数を指定します。 この値は指定する必要があります。 ブロック値の後に "B" を付加する必要があります("5000B" など)。

この値として、ADACMP ユーティリティで作成されるスペース要件レポートの値を直接使用することができます。 指定されたエクステントサイズが最大空きスペースのサイズを超える場合には、要求を満たすのに必要なファイルエクステント(最大 5 個)が ADALOD によって割り当てられます。

当初ロードするレコード数が少なく、後で大量のレコードを追加する場合は、追加する合計レコード数に比例して ADACMP レポートの値を増やす必要があります。このようにしない場合は、データストレージ(元のデータストレージと 4 つの追加エクステント)のスペース割り当てが追加レコードに対して不足することがあります。 この場合、データストレージのスペース割り当てを増やすには、ファイルをアンロードしてからリロード(またはリオーダ)する必要があります。 詳細は、「LOAD データとスペースの要件」の「LOAD ファイルのスペース割り当て」を参照してください。

FILE:ファイル番号、ファイルタイプ

FILE は、Adabas ファイル番号およびファイルに割り当てるファイルタイプを指定します。

データベース内の別のファイルに現在割り当てられている番号を指定することはできません。このことを行うには、KEEPFDT パラメータ(ADADBS DELETE 機能を参照)を使用して、先にファイルを削除する必要があります。 データベースで定義されている最大ファイル番号より大きい番号を指定することはできません。チェックポイントファイル、セキュリティファイル、トリガファイル、またはシステムファイルについては、5000 以下の番号を指定する必要があります。 ファイル番号は任意の順序で割り当てることができます。

ファイルタイプはオプションであり、ファイルが Adabas システムファイルまたは Adabas LOB ファイルのどちらであるかを示します。 次のいずれかのキーワードを指定できます。

CHECKPOINT Adabas チェックポイントシステムファイル
LOB Adabas LOB ファイル
SECURITY Adabas セキュリティシステムファイル
SYSFILE Adabas システムファイル
TRIGGER Adabas トリガシステムファイル

注意:

  1. ADADEF ユーティリティを使用して作成された既存のチェックポイントファイルを上書きすることはできません。
  2. Adabas Security を使用する場合は、セキュリティファイルが必要です。
  3. (ATM)データベースでは、SYSFILE 5 および 6 は ATM ニュークリアス用に予約されています。Adabas Transaction Manager Adabas バージョン 7.1 では、このファイル番号を変更することはできません。 Adabas の以降のバージョンでは、ファイル番号に柔軟性があります。
  4. ATM データベース(ADARUN DTP=TM)で ATM システムファイルをロードするには、パラメータ ADALOD LOAD FILE=5,SYSFILE、ADALOD LOAD FILE=6,SYSFILE を使用します。
  5. CHECKPOINT、SECURITY、または TRIGGER を指定すると、//DDEBAND の内容が無視されます。
  6. 空の LOB ファイルをロードしている場合、//DDEBAND データセットは不要です。
  7. CHECKPOINT、SECURITY、SYSFILE の各ファイルは、唯一の Adabas ユーザーとして稼動している ADADBS DELETE 機能のみが削除できます。システムファイルを削除すると、削除が完了した時点で Adabas は終了します。
  8. Adabas では、最大 8 個のシステムファイルを使用できます。
  9. LOB ファイルをロードしている場合は、ADALOD LOAD の実行でパラメータ ADAMFILE、ANCHOR、LOWNERID、NUMREC、SKIPREC、および UQDE を 指定することはできません。
MAXISN:最大 ISN カウント

MAXISN パラメータは必須です。 アドレスコンバータ(AC)における ISN マッピングの最大数を指定します。 ADALOD は、AC に対してスペースを確保するため、次の計算式を使用して ISN マッピングの数を決定します。

(MAXISN - MINISN) + 1

デフォルト値はありません。

指定する MAXISN および MINISN 値は、ADALOD の実行中に割り当てられる AC ブロックの初期数を計算するために使用されます。 データベースの RABN サイズ(ADADEF DEFINE パラメータ RABNSIZE によって決定される)に応じて、RABN ごとに AC 内に 3 または 4 バイトが必要です。 また、各 AC ブロックのブロックサイズはアソシエータのデバイスタイプによって異なります。 したがって、割り当てるべき AC ブロック数は、有効な ISN マッピング数、RABN サイズ、およびアソシエータデバイスのブロックサイズの影響を受けます。

割り当てを必要とする AC ブロック数を計算するため、ADALOD は次の計算式を使用し、計算結果を最も近い整数に切り上げます。

(#-of-ISN-mappings X RABN-size)/device-blocksize

例えば、データベースの RABN サイズが "3"(ADADEF DEFINE RABNSIZE パラメータ)に設定され、アソシエータが存在するデバイスのブロックサイズが 2544 バイトであるとします。 MAXISN=1000 および MINISN=1 が指定されると、マッピングする ISN の実際の個数は (1000 -1)+1 (MAXISN 窶錀 MINISN +1) つまり 1000 になります。 1000 に 3(RABN サイズ)を掛けて、3000 バイトが求められます。 最後に、3000 を 2544(デバイスのブロックサイズ)で割り、その結果の値である約 1.18 を切り上げ 2 となります。 したがって、この ADALOD の実行には、AC ブロックを 2 つ割り当てる必要があることになります。 (対応する ADAREP レポートでは、"MAX-ISN の予期値" が 1000 と表示されず、2 つの AC ブロックに収まる実際の ISN 数、つまりこの場合は約 1694 と表示されます。)

ロードするレコードが (MAXISN - MINISN) + 1 を超えた場合に NOACEXTENSION が指定されていないと、ADALOD は MAXISN 値を増やして追加の AC エクステントを割り当てます。

MAXISN は、ファイルにロードできる最大レコード数を指定しません。 Adabas で許可されるファイル内の最大レコード数は、ファイル内の ISN 長が 3 または 4 バイトのどちらであるかを指定する ISNSIZE パラメータによって異なります。 (ISNSIZE=3 の場合は 16,777,215 個までのレコードが有効であり、 ISNSIZE=4 の場合は 4,294,967,294 個までのレコードが有効です。)

SORTSIZE:ソートサイズ

SORTSIZE は、ソートデータセットまたは R1/2 データセット(SORTR2 は VSE 下ではサポートされません)に対して使用できるスペースを指定するものです。 値はシリンダ(数値のみ)か、またはブロック(数値に "B" を伴う)で指定します。 ブロックで指定する場合には、それらがシリンダの総数に等しくなっていなければなりません。 SORTSIZE パラメータは必須です。 ソートスペース見積りに関する詳細情報は『Adabas DBA リファレンスマニュアル』を参照してください。

TEMPSIZE:一時ストレージのサイズ

TEMPSIZE はファイルの中間データセットのサイズを指定します。 中間サイズは、ファイル内のディスクリプタごとに必要な TEMP スペースの合計です。詳細は、「LOAD データとスペースの要件」の「LOAD ファイルのスペース割り当て」を参照してください。 サイズはシリンダ単位またはブロック単位(後ろに "B" を付加)で指定できます。

Top of page

オプションのパラメータとサブパラメータ

ACRABN/ AC2RABN/DSRABN/ NIRABN/ UIRABN:開始 RABN

アドレスコンバータ(ACRABN)、セカンダリアドレスコンバータ(AC2RABN)、データストレージ(DSRABN)、ノーマルインデックス(NIRABN)、またはアッパーインデックス(UIRABN)のスペース割り当てを、指定された RABN で開始します。

ADAMFILE:ADAM オプションを使用してロードするファイル

ADAMFILE は、ADAM オプションを使用してファイルをロードすることを指定します。

このパラメータを指定すると、各入力レコードのデータストレージ RABN がランダマイジングアルゴリズムを使って計算され、各レコードの ADAM ディスクリプタの値に基づいて結果が求められます。 ADAM オプションの使用に関する詳細は、ADAMER ユーティリティの説明を参照してください。 ADAMFILE を指定すると、ADAMDE の指定も必要です。

注意:
LOB ファイルFILE パラメータを参照)をロードしている場合は、ADALOD LOAD の実行で ADAMFILE パラメータを指定できません。

ADAMDE:ADAM キー

ADAMDE は、ADAM キーとして使用するフィールドを指定します。

ADAM ディスクリプタをフィールド定義テーブル(FDT)で定義する必要があります。 UQ オプションを使用してディスクリプタを定義しておく必要がありますが、その場合、以下は無効です。

レコードの ISN を ADAM キーとして使用する場合は、ADAMDE = ISN を指定する必要があります。

ADAMFILE パラメータを指定してロードするファイルに対して ADAM オプションを選択した場合は、このパラメータを指定する必要があります。

ADAMOFLOW:ADAM ファイルのオーバーフローエリアサイズ

ADAMOFLOW は、ADAM ファイルのオーバーフローに使用するデータストレージエリアのサイズを指定します。 ADAMOFLOW 値は、ロードするファイルに対して ADAM オプションを選択した場合にのみ有効です(ADAMFILE パラメータを参照)。

ADALOD は、DSSIZE から ADAMOFLOW(ブロック単位)を引いた値より小さい素数を選択します。 この値は、レコードごとのデータストレージ RABN を計算するために使用されます。 計算された RABN のブロックにレコードが収まらないと、オーバーフローエリアの次の空き RABN に書き込まれます。

ADAMPARM:ADAM ファイルのビット切り捨て

ADAMPARM は、ADAM ランダマイジングアルゴリズムの入力として使用する前に、ADAM ディスクリプタ値から切り捨てるビット数を指定します。 1~255 の範囲の値を指定できます。 このパラメータを省略すると、0 ビットの値(切り捨てなし)が使用されます。

このパラメータは、ほぼ等しい ADAM キーを使用して、ある種のレコードクラスタ化を行います。 ADAMPARM は、ADAMFILE パラメータも指定した場合にのみ指定できます。

ALLOCATION:ファイルエクステント割り当てができない場合の動作

ALLOCATION は、配置パラメータ ACRABN、DSRABN、NIRABN または UIRABN に従ってファイルエクステント割り当てが得られない場合に取るべき動作を指定します。

デフォルト(すなわち ALLOCATION=FORCE)の場合は、RABN 配置パラメータに従ったファイルエクステント割り当てができないと、このユーティリティはエラーで終了します。

ALLOCATION=NOFORCE の場合は、配置パラメータによる割り当てができないと、配置パラメータなしで再度割り当てようとします。

配置パラメータ DSRABN、NIRABN、または UIRABN に従って十分なスペースを取得できないと、最初のエクステントのみがそこに作成され、残り(5 番目のエクステントまで)は他の場所に作成されます。 ただし、ALLOCATION=FORCE とともに配置パラメータ ACRABN を使用する場合は、指定された場所で完全なスペースを取得できる必要があります。取得できない場合、ユーティリティはエラーで終了します。

ANCHOR:拡張コンポーネント/アンカーファイル

ANCHOR は、既存または新規の拡張ファイルに対して基本(アンカー)ファイルを定義します。 ANCHOR で定義されたファイルが FILE パラメータで定義されたファイルと同じである場合、ロードされたファイルは新しい拡張論理ファイルに対する物理基本(アンカー)ファイルになります。 そうでない場合は、FILE パラメータで定義されたファイルが、ANCHOR で定義された拡張ファイルの新しいコンポーネントになります。

拡張ファイルの一部でないファイルを ANCHOR で指定すると、このファイルおよび FILE パラメータで指定されたファイルが LOAD 処理によって新しい拡張ファイルとして定義されます。 また、ANCHOR で指定したファイルに対して NOACEXTENSION インジケータも設定されます。

既存の拡張ファイルのアンカーファイルを ANCHOR で指定すると、FILE で指定されたファイルが LOAD 処理によって拡張ファイルに追加されます。

注意:
既存の拡張ファイルに新しいファイルをロードする場合は、アンカーファイルおよび追加されるファイルに対して排他更新の使用が必要です。 これは、ユーティリティで使用するためにアンカーファイルをロックすることによって達成できます。

ANCHOR で指定されるファイルと FILE で指定されるファイルには、同じフィールド定義テーブル(FDT)構造が必要です。 最大レコード長(MAXRECL パラメータ)およびファイルセキュリティ定義も同じである必要があります。

ANCHOR を指定すると、MINISN および NOACEXTENSION パラメータも指定する必要があります。 カップリングされたファイルまたはマルチクライアントファイルを拡張ファイルの一部にすることはできません。

注意:
LOB ファイルFILE パラメータを参照)をロードしている場合は、ADALOD LOAD の実行で ANCHOR パラメータを指定できません。

ASSOPFAC:アソシエータパディングファクタ

ASSOPFAC は、各アソシエータブロックに使用するパディングファクタを定義します。 指定しないと、デフォルトのパディングファクタ 10 が使用されます。

指定値は、ロード処理中に使用しない各アソシエータブロック(パディングエリア)の比率を示します。 パディングエリアは、新しいディスクリプタ値に対してブロックにエントリを追加する必要がある場合、または既存の値に対して新しい ISN を追加する必要がある場合に使用するために確保します。これにより、オーバーフローしたエントリを別のブロックに再配置することから発生するオーバーヘッドを避けることができます。

1 から 90 の値が指定できます。 アソシエータブロック内のバイト数からパディング用に確保されたバイト数を引いた値は、ファイル内の最大ディスクリプタ値に 10 バイトを加えた値を超えている必要があります。

ディスクリプタの更新頻度が少ないかまったくない場合には、小さいパディングファクタ(1~10)を指定します。 新しいディスクリプタ値(または新しい ISN)を追加するなど、ディスクリプタ更新を頻繁に行う場合には、大きいパディングファクタ(10~50)を指定します。

ASSOVOLUME:アソシエータエクステントボリューム

注意:
ASSOVOLUME 値は単一引用符でくくらなければなりません。

ASSOVOLUME は、ファイルのアソシエータスペース(AC、NI、UI エクステント)を割り当てるボリュームを指定します。 要求したブロック数が指定ボリュームに存在しない場合、ADALOD は、ASSOVOLUME パラメータに関係なく再度割り当てようとします。

注意:
指定されたボリュームに未使用の ASSO スペースが 5 ブロック以上存在すると、ADALOD はこのブロックを割り当てます。このスペースが十分でない場合は、ERROR-060 で終了します。 指定されたボリュームに空きブロックが残っていない場合は、ADALOD は別のボリュームでスペースを割り当てようとします。

ACRABN、UIRABN、または NIRABN が指定されていると、ADALOD は ASSOVOLUME の値を無視して該当するエクステントタイプを割り当てます。 ASSOVOLUME が指定されないと、ファイルのアソシエータスペースは、ADALOD のデフォルト割り当てルールに従って割り当てられます。

BASEFILE:基本ファイル番号

BASEFILE は、ロードしている LOB ファイルに関連した基本ファイルのファイル番号を指定します。 このパラメータは、LOB ファイルをロードするときにのみ使用されます。

詳細については、「ラージオブジェクト(LB)フィールドの基本」を参照してください。

DATAFRM:ADAM データストレージの上書き

DATAFRM は、ロード中の ADAM ファイルのデータストレージの上書きを制御します。 DATAFRM=YES(デフォルト)を指定すると、ファイルのロード時にデータストレージエリアが ADALOD によって強制的に再フォーマットされます。DATAFRM=NO を指定すると再フォーマットが行われず、ロード処理速度が大幅に向上するため、レコード数が比較的少ないロード処理には、DATAFRM=NO を指定します。 ただし、NO を指定する場合は、FROMRABN を指定した ADAFRM ユーティリティを使用して、データストレージエリアがフォーマット済みであることが前提になります。

注意:
DATAFRM=NO の指定には注意してください。 プライマリデータストレージが正しくフォーマットされていない場合は、その後のファイル処理でエラーが発生したり、予期しない結果が発生することがあります。
DATAPFAC:データストレージパディングファクタ

DATAPFAC は、データストレージの各物理ブロックに使用されるパディングファクタです。 1~90 の範囲のパーセント値を指定できます。 指定しないと、デフォルトのパディングファクタ 10 が使用されます。

レコード拡張の頻度が少ないかまったくないことが予期される場合には、小さいパディングファクタ(1~10)を指定します。 論理レコードを拡張する大量の更新が計画されている場合には、大きいパディングファクタ(10~50)を指定します。

指定されたパーセント値は、以降のレコード拡張でロード処理中に確保される各データストレージブロック(パディングエリア)の部分を表します。 レコード更新の結果、ブロック内の論理レコードで追加スペースが必要になった場合に、パディングエリアが使用されます。これにより、レコードを別のブロックに再配置することから発生するオーバーヘッドを避けることができます。

ファイルにロードされたレコードの長さは異なる場合があるため、パディングファクタは、各ブロックで指定されたパーセントと必ずしも一致しません。 Adabas は、少なくとも 50 バイトがブロックに残るように、異なるレコード長のパディングエリアサイズのバランスを保ちます。

ブロックサイズは 1000 バイト、パディングファクタは 10 %です。 したがって、レコードのロードに使用可能なスペース(ブロックサイズからパディングエリアを差し引く)は 900 バイトになります。

数件のレコードをロードした後、800 バイトのブロックが使用されました。 次のレコードの長さは 170 バイトです。 レコードがロードされると、ブロックの残りが 50 バイト未満になるため、このレコードは現在のブロックにロードできません。 したがって、レコードは次のブロックにロードされます。

現在のブロックは 800 バイトが使用されたままの状態になります。 800 バイトと 900 バイトの差(-100 バイト)はバランスのために使用されます。

次のレコードが 170 バイトではなく 150 バイトであり、その時点での累積バランスの値が負のバイト数であると想定します。 レコードをロードした後、ブロックに 50 バイト(1000 - 950)が残るため、150 バイトのレコードはロードされます。

ただし、パディングエリアの 50 バイトは、バランス用に +50 バイトを残して使用されます(900-950)。

ADAM オプションを指定してロードしたファイルの場合、ブロック(パディングエリアを含む)内でスペースが使用可能であれば、計算されたデータストレージブロックに新しいレコードがロードされます。 計算されたブロックに格納できないレコードは、別のブロックに格納されます(この場合、パディングエリアは使用されません)。

DATAVOLUME:データストレージエクステントボリューム

注意:
DATAVOLUME 値は単一引用符でくくらなければなりません。

DATAVOLUME は、ファイルのデータストレージスペース(DS エクステント)が割り当てられるボリュームを指定します。 DSSIZE で要求されるブロック数が指定ボリュームに存在しないと、ADALOD は、DATAVOLUME 値を無視して再度割り当てようとします。

DSRABN を指定した場合、関連ファイルに対する DATAVOLUME は無視されます。 DATAVOLUME を指定しないと、ADALOD のデフォルト割り当てルールに従って、データストレージスペースが割り当てられます。

DSDEV:データストレージデバイスタイプ

DSDEV は、ファイルのデータストレージをロードするデバイスタイプを指定します。 デフォルト値はありません。DSDEV を指定しない場合、任意のデバイスタイプが使用されます。

DSREUSE:データストレージの再利用

DSREUSE は、使用可能となったデータストレージスペースを再利用するかどうかを指定します。 デフォルトは YES です。

ETID:マルチクライアントファイルオーナー ID

ETID パラメータは、マルチクライアントファイルにロードされている全レコードに対して新しいオーナー ID を割り当てます。 ロードされているレコードのオーナーを識別するユーザー ID を指定します。 レコードに割り当てられるオーナー ID は指定したユーザー ID のユーザープロファイルから取得します。

ロードするファイルがマルチクライアントファイル(LOWNERID パラメータの説明を参照)で、入力ファイルにオーナー ID が含まれていない場合、つまり入力ファイルがマルチクライアントソースファイルからロードされていない場合には、ETID パラメータを指定する必要があります。

入力ファイルがマルチクライアントソースファイルからロードされた場合には、ETID はオプションです。 この場合、ロードされたレコードで元のオーナー ID が保持されます。

非マルチクライアントファイルをロードする場合は、ETID パラメータを指定できません。

注意:
ETID パラメータを使用する場合、ADALOD ユーティリティはアクティブニュークリアスを必要とします。 ニュークリアスは、ETID 値を内部オーナー ID 値に変換します。

IGNFDT:古い FDT の無視

KEEPFDT パラメータを指定した ADADBS の DELETE 機能を使用してファイルを削除すると、フィールド定義テーブル(FDT)はアソシエータ内に残ります。 そのファイルを再びロードするときに IGNFDT が指定されていないと、ファイルの古い FDT が ADALOD によって新しいものと比較されます(セキュリティ情報は比較されません)。 両方の FDT が同一であれば、ADALOD はファイルをロードし、古い FDT は新しい FDT に置換されます。 FDT が同一でなければ、古い FDT が保持され、ADALOD はエラーメッセージを出力して処理を終了します。

IGNFDT パラメータを指定すると、ファイルの既存の(古い)FDT は ADALOD で無視され、比較は行われません。 古い FDT は新しい FDT に置換され、ファイルがロードされます。

INDEXCOMPRESSION:ファイルインデックスの圧縮

INDEXCOMPRESSION には、ファイルインデックスを圧縮形式または非圧縮形式のどちらでロードするかを指定します。 通常、インデックスを圧縮すると、インデックススペースが少なくなり、Adabas ニュークリアスのインデックス操作の効率が向上します。

INDEXCOMPRESSION を指定しないと、ADALOD はシーケンシャル入力ファイルからデフォルト値を取得します。 入力ファイルの作成方法によって、次のようになります。

ISNREUSE:ISN の再利用

ISNREUSE は、レコード削除の結果解放された ISN を新しいレコードに再割り当てできるかどうかを指定します。 デフォルトは NO です。

ISNSIZE:3 または 4 バイト ISN

ISNSIZE は、ファイル内の ISN 長が 3 バイトであるか 4 バイトであるかを示します。 デフォルトは 3 バイトです。

LIP:ISN バッファプールサイズ

ISN と割り当てられたデータストレージ RABN を入れるための ISN プールサイズを指定します。 値はバイト単位で指定し、数値のみ("2048" など)を指定するか、あるいは数値の後に "K" を付けて("2K" など)キロバイト単位で指定します。 LIP のデフォルトは、2000 バイトです。

LIP は、USERISN=YES が指定され、ユーザー指定の ISN がソートされていない場合のロード中にアドレスコンバータの入出力回数を削減するために使用できます。 処理対象となるすべての ISN を保持できるだけのバッファサイズを LIP で指定すると、最適なパフォーマンスを得ることができます。

1 件の入力レコード長は、ISNSIZE + RABNSIZE + 1 です。 したがって、エントリ長は、最小 7 バイト(ファイルの ISNSIZE が 3 でデータベースの RABNSIZE が 3)、最大 9 バイト(ISNSIZE が 4 で RABNSIZE が 4)になります。

LOBFILE:LOB ファイル番号

LOBFILE は、ロードしている基本ファイルに関連した LOB ファイルのファイル番号を指定します。 このパラメータは、基本ファイルのロード時にのみ使用されます。

詳細については、「ラージオブジェクト(LB)フィールドの基本」を参照してください。

LOWNERID:マルチクライアントファイルの内部オーナー ID 長

LOWNERID パラメータは、マルチクライアントファイルの各レコードに割り当てられる内部オーナー ID 値の長さを指定します。 有効な長さは 0~8 です。 LOWNERID パラメータを指定しないと、入力ファイルにあるオーナー ID の長さがデフォルト値になります。

LOWNERID パラメータの指定値またはデフォルト値によって、ファイルをマルチクライアントファイルとしてロードするのか、非マルチクライアントファイルとしてロードするのかが決まります。 有効な LOWNERID の値が 0 の場合はファイルが標準の非マルチクライアントファイルとしてロードされ、0 でない場合はマルチクライアントファイルとしてロードされます。

LOWNERID パラメータを ETID パラメータと組み合わせると、次の操作を行うことができます。

次の表に、LOWNERID パラメータと入力ファイルのオーナー ID 長の有効な組み合わせを示します。

LOWNERID
パラメータ設定
入力ファイルのオーナー ID 長の値
0 2
0 非マルチクライアントファイルとして保持 非マルチクライアントファイルに変換
1 マルチクライアントファイルの設定(ETID) オーナー ID 長の縮小
2 マルチクライアントファイルの設定(ETID) オーナー ID 長の保持
3 マルチクライアントファイルの設定(ETID) オーナー ID 長の拡張
(指定なし) 非マルチクライアントファイルとして保持 マルチクライアントファイルとして保持

マルチクライアントファイル(LOWNERID の指定値またはデフォルト値が 0 以外)をロードするとき、ETID パラメータを指定して、ロードするすべてのレコードに新しいオーナー ID を割り当てることができます。 入力ファイルにオーナー ID がすでに含まれており、ETID を省略すると、すべてのレコードで元のオーナー ID が保持されます。

上の表で "入力ファイルのオーナー ID 長の値が 0" となっている列に ETID パラメータが示されている箇所は、入力ファイルにオーナー ID が存在しないため、ETID パラメータが必須であることを示しています。

注意:
LOB ファイルFILE パラメータを参照)をロードしている場合は、ADALOD LOAD の実行で LOWNERID パラメータを指定できません。

LWP:ワークプールサイズ

LWP は、ディスクリプタ値のソートに使用されるワークプールの大きさを指定します。 この値は、数値のみでバイト単位で指定するか、あるいは数値の後に "K" を付けてキロバイト単位で指定します。 値が指定されない場合は、デフォルトで 1048576 バイト(または 1024K)が設定されます。ただし、ディスクリプタが非常に長いか、またはディスクリプタの数が著しく多いファイルに対して ADALOD の実行時間を短くする場合には、より大きな値を LWP に設定すべきです。 ソートデータセットとの問題を避けるため、比較的小規模なファイルをロードする場合には、LWP 値を小さめに指定してください。

最小ワークプールの大きさは、ソートデータセットのデバイスタイプごとに異なります。

ソートデバイス 最小 LWP 最小 LWP
バイト キロバイト
2000 106496 104K
2314 090112 88K
3375 131072 128K
3380 139264 136K
3390 159744 156K
MAXDS/MAXNI/MAXUI:最大 2 次割り当て

データストレージ(MAXDS)、ノーマルインデックス(MAXNI)、またはアッパーインデックス(MAXUI)の 2 次エクステントごとに割り当てる最大ブロック数を指定します。 値はブロック単位で指定し(MAXNI=8000B など)、65535B を超えることはできません。 この値を指定しない場合は、無制限であると見なされます(デフォルト)。

MAXISN2:最大セカンダリ ISN に相当するセカンダリアドレスコンバータ RABN の割り当て

ADALOD 入力ファイル内にスパンドレコードが存在するかどうかに関係なく、MAXISN2 の指定は任意です。 このパラメータを使用して、ISN におけるセカンダリアドレスコンバータ(AC2)のサイズが決定されます。 セカンダリアドレスコンバータは、セカンダリスパンドレコードのセカンダリ ISN を、セカンダリレコードが格納されているデータストレージブロックの RABN にマッピングするために使用されます。

ADALOD は、次の方式に従って、セカンダリ AC 内のスペースを使用できるように ISN マッピングの数を判断します。

  1. セカンダリ AC がまだ割り当てられていない場合は、セカンダリ AC ブロック 1 つが割り当てられます。

  2. 現在の MAXISN2 設定が MAXISN 値(予期される現在の最大プライマリ ISN 数)の 4 倍以上である場合は、追加のプライマリ ISN を割り当てるときと同じアルゴリズムを使用してセカンダリ ISN の数を決定します。

  3. 上記のいずれの条件も満たさない場合、セカンダリ AC のスペースは、次の 2 つの計算のうち小さい値として割り当てられます。

    • 旧 MAXISN2 設定の 10 倍(10 × oldMAXISN2)

    • 旧 MAXISN2 設定と MAXISN 設定の合計(oldMAXISN2 + MAXISN)

デフォルト値はありません。

MAXRECL:最大圧縮レコード長

MAXRECL は、ファイルに有効な最大圧縮レコード長を指定します。 デフォルト値は、使用デバイスタイプでサポートされている最大長です。

MINISN:最小 ISN 件数

このパラメータは、ファイルに割り当てることができる最小 ISN 件数を指定します。 デフォルトは 1 です。

MINISN の主な目的は、Adabas 拡張ファイルのコンポーネントファイルに対して ISN 範囲の最小値を割り当てることです。 拡張ファイルに対して ANCHOR を指定する場合は、MINISN が必要です。

MINISN は、1 を大幅に超えた値がすべてのレコードに割り当てられているファイルで、アソシエータスペースの浪費を避けるために使用します。 例えば、銀行の口座番号に ISN 番号を使用しており、最小の口座番号が 1,000,001 であるとします。 この場合、MINISN = 1000001 と指定すると、1~999999 の ISN に対してアドレスコンバータのスペース割り当てが停止され、未使用になります。 詳細は、MAXISN パラメータの説明を参照してください。

MIXDSDEV:混合デバイスタイプデータストレージ

MIXDSDEV では、異なるデバイスで 2 次データストレージエクステントを割り当てることができます。異なるブロック長が有効になります。 MIXDSDEV を指定しない場合(デフォルト)は、指定ファイルに対するデータストレージエクステントがすべて同じデバイスタイプに存在している必要があります。

NAME:ファイル名

NAME は、ファイルに割り当てる名前です。 この名前は、ADAREP ユーティリティで作成されるデータベースステータスレポートに、このファイルに関係するデータとともに出力されます。 許可される最大文字数は 16 です。 デフォルト名は TESTFILE です。

ファイル名に特殊文字または埋め込み空白が含まれている場合は、名前を単一引用符で囲う('...')必要があります。単一引用符自体が名前に含まれる場合は、'JAN''S FILE' のように 2 回連続して指定する必要があります。

NISIZE:ノーマルインデックスサイズ

NISIZE は、ノーマルインデックスに対して割り当てられるブロックまたはシリンダ数を指定します。 ブロック値の場合には値の後に "B" を指定する必要があります("5500B" など)。

指定されたエクステントサイズが最大空きスペースのサイズを超える場合には、要求を満たすのに必要なファイルエクステント(最大 5 個)が ADALOD によって割り当てられます。

NISIZE パラメータを省略すると、次のようになります。

ロードするレコード数が少なく、後で大量のレコードを追加する場合は、レコードのデータ量の合計に合わせて、ノーマルインデックスを増やすことができるように NISIZE パラメータを設定する必要があります。 詳細は、「LOAD データとスペースの要件」の「LOAD ファイルのスペース割り当て」を参照してください。

NOACEXTENSION:アドレスコンバータエクステントの制限

NOACEXTENSION を指定すると、このファイルに定義された MAXISN を今後増やすことができなくなります。 追加のアドレスコンバータ(AC)エクステントは作成されません。 NOACEXTENSION は、Adabas 拡張ファイルを構成しているコンポーネントファイルに主に適用されます。ANCHOR を指定すると、NOACEXTENSION も指定する必要があります。

NOUSERABEND:アベンドなし終了

機能の実行中にエラーになると、ユーティリティは、エラーメッセージを出力してユーザーアベンド 34(ダンプあり)またはユーザーアベンド 35(ダンプなし)で終了します。

NOUSERABEND を指定すると、ユーティリティは、エラーメッセージを出力してもアベンドしません。 代りに、メッセージ "utility TERMINATED DUE TO ERROR CONDITION"(エラーのためユーティリティを終了します)を表示してコンディションコード 20 で終了します。

NUMREC:ロードするレコード数の制限

NUMREC は、ロードするレコード数の限度を指定します。 NUMREC を指定すると、(入力データセットのエンドオブファイル条件によって ADALOD がすでに終了していない限り)指定数のレコードを処理した後で ADALOD は終了します。 このオプションは、テスト用にファイルのサブセットを作成する場合によく使用されます。 このパラメータを省略すると、入力レコードがすべて処理されます。

入力データセット内のレコード数が NUMREC の指定値より多い場合、ADALOD は NUMREC で指定されたレコード数を処理した後、コンディションコード 4 で終了します。

注意:
LOB ファイルFILE パラメータを参照)をロードしている場合は、ADALOD LOAD の実行で NUMREC パラメータを指定できません。

PGMREFRESH:プログラムで生成されたファイルのリフレッシュ

PGMREFRESH は、ロード中のファイルに対してユーザープログラムでリフレッシュ処理を実行できるかどうかを指定します。 PGMREFRESH を指定すると、E1 コマンドまたはニュークリアスに対する同等のコールを使用して、リフレッシュを行うことができます。

RESTART:中断 ADALOD 処理の再開

RESTART は、中断された ADALOD 実行を強制的に再開させるもので、中断までに達していた最終再開位置から再スタートが行われます。 再開位置とは、中間データセットから復元可能な実行処理の最終位置を意味します。

エラー条件定義によって ADALOD が中断された場合、再開が可能であるかどうかを示すメッセージが ADALOD によって発行されます。

ADALOD オペレーションを再開するときに、次の各パラメータを変更できます。

その他のパラメータを変更することはできません。 DDEBAND/EBAND および DDFILEA/FILEA データセットは変更できません。

SKIPREC:スキップするレコード数

SKIPREC は、ロード処理を開始する前にスキップする入力レコード数を指定します。 デフォルトは 0 です(レコードがスキップされていない場合)。

注意:
LOB ファイルFILE パラメータを参照)をロードしている場合は、ADALOD LOAD の実行で SKIPREC パラメータを指定できません。

SORTDEV:ソートデバイスタイプ

ADALOD はディスクリプタ値のソートにソートデータセットを使用します。 SORTDEV パラメータは、このデータセットに使用するデバイスタイプを示します。 このパラメータは、使用するデバイスタイプが ADARUN DEVICE パラメータの指定と異なる場合にのみ必要です。

TEMPDEV:一時ストレージデバイスタイプ

ADALOD は、中間データセットを使用して中間データを格納します。 TEMPDEV パラメータは、このデータセットに使用するデバイスタイプを示します。 このパラメータは、使用するデバイスタイプが ADARUN DEVICE パラメータの指定と異なる場合にのみ必要です。

TEST:構文テスト

TEST パラメータは、処理を実際には行わずに構文のみをテストします。 指定したパラメータの構文だけがテストされ、値や変数の正当性はテストされません。

UISIZE:アッパーインデックスサイズ

UISIZE は、アッパーインデックスに対して割り当てられるブロック数またはシリンダ数を指定します。 ブロック値の場合には値の後に "B" を指定する必要があります("5500B" など)。

指定されたエクステントサイズが最大空きスペースのサイズを超える場合には、要求を満たすのに必要なファイルエクステント(最大 5 個)が ADALOD によって割り当てられます。

UISIZE パラメータを省略すると、次のようになります。

ロードするレコード数が少なく後から大量のレコードを追加する場合は、総合計のレコード数に合わせてアッパーインデックスを増やすことができるように UISIZE パラメータを設定する必要があります。 詳細は、「LOAD データとスペースの要件」の「LOAD ファイルのスペース割り当て」を参照してください。

UQDE:ユニークディスクリプタ

UQDE は、1 つ以上のディスクリプタをユニークとして定義します。 指定された各ディスクリプタは、それぞれの入力レコードで異なる値を持っている必要があります。 ADALOD 処理中にユニークでない値が検出されると、ADALOD はエラーメッセージを出力して終了します。

ADACMP ユーティリティでユニークディスクリプタ(UQ)オプションを指定した場合は、UQDE パラメータをここで指定する必要はありません。

更新コマンドによってディスクリプタの値が重複する可能性がある場合、ユニークディスクリプタ(UQ)オプションを使用して定義されたディスクリプタについては、追加または更新コマンドによる更新が Adabas によって防止されます。

注意:
Adabas 拡張ファイルの場合、ADALOD は、指定されたコンポーネントファイル内でしかユニークディスクリプタ違反を検出できません。 同じ値のユニークディスクリプタが他のいずれかのコンポーネントファイルに存在していても、ADALOD では検出できません。 したがって、ユニークディスクリプタの値が、全拡張ファイルを通じてユニークであるようにする必要があります。

注意:
LOB ファイルFILE パラメータを参照)をロードしている場合は、ADALOD LOAD の実行で UQDE パラメータを指定できません。

USERISN:ユーザー ISN 割り当て

USERISN=YES は、ロードされたファイルに対して USERISN オプションが有効になり、新規の各レコードに対してユーザーが入力データで ISN を指定することを示します。 USERISN=NO の場合、Adabas は、それぞれの新規レコードに ISN を割り当てます。

USERISN を指定しないと、入力ファイルに応じたデフォルト設定を使用すると見なされます。 USERISN オプションを指定した ADACMP で入力ファイルを作成した場合、または USERISN オプションを指定したファイルから ADAULD で入力ファイルを作成した場合には、ADALOD のデフォルトは USERISN=YES になります。それ以外の場合は、USERISN=NO がデフォルトになります。 ここで USERISN を指定すると、既存のデフォルト値が上書きされます。

注意:
USERISN オプションを指定して Adabas 5.2 ファイルを最初にロードした場合は、ファイルを再ロードするときに USERISN=YES を再度指定する必要はありません。ADALOD は上記のようにデフォルトを想定します。 ただし、USERISN オプションを指定して Adabas 5.1 ファイルを最初にロードした場合は、再ロードするたびに USERISN=YES を指定する必要があります

VERSION:入力データ形式

このパラメータは本来、Adabas にロードする出力(ADACMP)データセットのバージョンを指定していました。

シーケンシャル入力データセットのバージョンは ADALOD で決定されるため、このパラメータは無視されます。 旧バージョンの ADALOD ジョブとの互換性のためにのみ使用できます。

Top of page

例 1

ADALOD  LOAD FILE=6,MAXISN=20000,DSSIZE=20,ASSOPFAC=15,
ADALOD       DATAPFAC=15,TEMPSIZE=20,SORTSIZE=10

ファイル 6 をロードします。 ファイルに対して最初に有効なレコード数は 20,000 です。 データストレージに 20 シリンダを割り当てます。 アソシエータおよびデータストレージのブロックパディングファクタは、どちらも 15 %です。 中間データセットおよびソートデータセットは、それぞれ 20 および 10 シリンダです。

例 2

ADALOD  LOAD FILE=7,MAXISN=350000,ASSOPFAC=5,MINISN=100001
ADALOD       DATAPFAC=15,DSSIZE=100,USERISN=YES
ADALOD       TEMPSIZE=200,SORTSIZE=100

ファイル 7 をロードします。 ファイルに対して最初に割り当てられたレコード数は 250,000、最小レコード数は 100,001 です。 アソシエータパディングファクタは 5 %です。 データストレージパディングファクタは 15 %です。 データストレージに 100 シリンダを割り当てます。 ISN は入力に含まれます。 中間データセットおよびソートデータセットは、それぞれ 200 および 100 シリンダです。

例 3

ADALOD  LOAD FILE=8,ADAMFILE,ADAMDE='AK'
ADALOD       ADAMPARM=4,ADAMOFLOW=5,UQDE='AK',MINISN=1
ADALOD       MAXISN=10000,DSSIZE=20,ASSOPFAC=5,DATAPFAC=5
ADALOD       TEMPSIZE=10,SORTSIZE=5

ファイル 8 を ADAM ファイルとしてロードします。 フィールド AK は ADAM キーです。 AK 値を使用してレコードに対するデータストレージ RABN を計算する際に、AK の各値から 4 ビット切り捨てます。 ADAM オーバーフローエリアのサイズは 5 シリンダです。 フィールド AK はユニークディスクリプタとして定義されています。 ファイルに対して最初に割り当てられた最大レコード数は 10,000 です。 データストレージに 20 シリンダを割り当てます。このうち、ADAM オーバーフローが 5 シリンダを占めています。 アソシエータおよびデータストレージのパディングファクタは、どちらも 5 %です。 中間データセットおよびソートデータセットのサイズは、それぞれ 10 および 5 シリンダです。

例 4

ADALOD  LOAD FILE=9,NAME=INVENTORY,MAXISN=5000
ADALOD       DSSIZE=2000B,DSRABN=30629,NISIZE=300B,UISIZE=50B
ADALOD       MAXDS=1000B,MAXNI=50B,MAXUI=1B
ADALOD       INDEXCOMPRESSION=YES
ADALOD       ASSOPFAC=20,DATAPFAC=10
ADALOD       TEMPSIZE=10,SORTSIZE=5,UQDE='U1,U2'

ファイル 9 をロードします。 ファイルのテキスト名は INVENTORY です。 ファイルの初期スペース割り当ては 5,000 レコードです。 データストレージに、RABN 30,629 から開始して 2,000 ブロックを割り当てます。 ノーマルインデックスに 300 ブロックを割り当てます。 アッパーインデックスに 50 ブロックを割り当てます。 データストレージ、ノーマルインデックス、およびアッパーインデックスの 2 次エクステントごとの最大割り当ては、それぞれ 1000 ブロック、50 ブロック、および 1 ブロックです。 インデックスを圧縮します。 アソシエータパディングファクタは 20 %です。 データストレージパディングファクタは 10 %です。 中間データセットおよびソートデータセットは、それぞれ 10 および 5 シリンダです。 ディスクリプタ U1 および U2 はユニークディスクリプタとして定義されています。

例 5

ADALOD  LOAD FILE=2,SECURITY
ADALOD       DSSIZE=20B,MAXISN=2000,NISIZE=20B,UISIZE=5B
ADALOD       TEMPSIZE=10,SORTSIZE=5  

ファイル 2 を Adabas セキュリティファイルとしてロードします。 DDEBAND の内容は無視されます。 スペース割り当ては、データストレージに 20 ブロック、アドレスコンバータに 2000 ISN、ノーマルインデックスに 20 ブロック、アッパーインデックスに 5 ブロックです。 中間サイズは 10 シリンダ、ソートエリアサイズは 5 シリンダです。

Top of page

LOAD データとスペースの要件

次の一般情報は、LOAD 操作に関するデータ要件および ADALOD LOAD によるスペース割り当ての方法について説明します。 スペース割り当ての詳細については、『Adabas DBA リファレンスマニュアル』を参照してください。

LOAD 操作の入力データ

ADACMP または ADAULD ユーティリティで生成された圧縮データレコードは、ADALOD の入力として使用できます。 MODE=SHORT オプションを指定して実行された ADAULD ユーティリティの出力を ADALOD の入力として使用すると、ディスクリプタ情報はすべて FDT から削除され、ファイルに対するインデックスは存在しません。

LOAD のファイルスペース割り当て

ADALOD は、ロードするファイルに対してノーマルインデックス(NI)、アッパーインデックス(UI)、アドレスコンバータ(AC)、およびデータストレージのスペースを割り当てます。

インデックススペースの割り当て

NISIZE や UISIZE パラメータを指定すると、ユーザーが指定した値に基づいて割り当てが行われます。 このパラメータを指定しないと、ADALOD は各ディスクリプタに存在する値のサンプリングに基づいてこれらのインデックスに対するスペースを割り当てます。

ディスクリプタ値は、次のようにサンプリングされます。

  1. ADALOD は圧縮された入力レコードを読み込み、データストレージにレコードを格納し、各ディスクリプタのそれぞれの値を抽出してそれを中間データセットに書き込みます。 各中間ブロックには 1 つのディスクリプタの値のみが格納されます。 この処理が完了すると、次の情報が取得されます。

    • 各ディスクリプタの値の個数

    • 各ディスクリプタに必要なバイト数

    • 各ディスクリプタに使用される中間 RABN

    ユニークディスクリプタの場合、NI のスペース要件は使用される中間サイズと同じになります。 非ユニークディスクリプタの場合は、重複する値の個数を求める必要があります。 重複するそれぞれの値のスペース要件を見積り、必要なバイト数からその値を差し引く必要があります。 この結果が、重複するディスクリプタに対する NI サイズになります。

    重複する値の個数は、1 つのディスクリプタの値を含む 16 個までの中間ブロックを読み込んで求められます。 この値がソートされ、重複する値の個数が求められます。 この個数に、次の計算式で得られる係数が掛けられます。

    graphics/lod11_standard3.png

    その結果が、このディスクリプタに対してファイル全体に存在する同一ディスクリプタ値の予測個数になります。 このスペース要件が中間サイズの見積りから差し引かれます。

  2. アッパーインデックス(UI)サイズは、ノーマルインデックス(NI)および中間サイズがすべて使用可能になった後で計算されます。

  3. NI および UI のサイズには、次の計算式の結果がそれぞれ掛けられます。

    graphics/lod11_standard2.png

    例えば、MINISN = 1(デフォルト)を指定したときに 10000 個のレコードに対して 10 ブロックの UI スペース と 500 ブロックの NI スペースを必要とする場合、MAXISN = 60000 と指定すると、60 ブロックの UI と 3000 ブロック の NI が割り当てられることになります。

    graphics/lod11_standard1.png

    ただし、USERISN=YES の指定が有効な場合には、この計算は行われません。

    MAXISN を適切に設定することで、ロードするレコード数が少なく後から大量のレコードを追加するようなファイルに対して、割り当てサイズを増やすことが可能になります。

    NISIZE および UISIZE パラメータを指定すると、未割り当てのアソシエータ RABN を使用してスペースが割り当てられます。 NIRABN および/または UIRABN パラメータを指定すると、ユーザーが指定した RABN を使用してスペースが割り当てられます。

アドレスコンバータのスペース割り当て

アドレスコンバータの割り当ては、ファイルに対する MAXISN および MINISN の値を基にしています。 ADALOD は、次の式から計算されるバイト数を格納するのに必要なブロック数を割り当てます。

RABNSIZE x((MAXISN - MINISN)+ 1) 

ACRABN パラメータを指定すると、ユーザーが指定したブロック番号から開始してアドレスコンバータが割り当てられます。このパラメータを指定しないと、未割り当てのアソシエータ RABN が使用されます。

データストレージのスペース割り当て

データストレージの割り当ては、DSSIZE パラメータで指定された値を基にしています。 DSRABN パラメータを指定すると、ユーザーが指定したブロック番号から開始して割り当てが行われます。このパラメータを指定しないと、未割り当てのデータストレージ RABN が使用されます。

データベースに異なるデバイスタイプが存在する場合、DSDEV を指定することにょって、データストレージの割り当てを指定のデバイスタイプで強制的に行うことができます。 MIXDSDEV パラメータを指定すると、MAXRECL で指定された長さのレコードをデバイスタイプで格納できるという前提のもとに、異なるデバイスタイプでデータストレージを割り当てることができます。

中間エリアのスペース割り当て

ADALOD はディスクリプタごとに、値およびその値を含むレコードの ISN のリストを生成し、この情報を中間データセットに書き込みます。 ディスクリプタ情報に必要なスペースは、各ディスクリプタに必要なスペースの合計になります。 各ディスクリプタに必要なスペースは、次の式で計算されます。

SP = N * NPE * NMU * (L + 4) 

ここでは次の内容を表しています。

SP ディスクリプタに必要なスペース(バイト単位)
N ロードするレコードの数
NPE ディスクリプタがピリオディックグループ内に含まれている場合の平均オカレンス数。 ピリオディックグループに含まれない場合の NPE は 1。
NMU ディスクリプタがマルチプルバリューフィールドの場合の平均オカレンス数。 マルチプルバリューフィールドでない場合の NMU は 1。
L ディスクリプタの各値の(圧縮後の)平均長

20,000 レコードを含むファイルをロードします。 ファイルには 2 つのディスクリプタ(AA および CC)があります。 ディスクリプタ AA にはレコードごとに 1 個の値が存在し、圧縮後の値の平均長は 3 バイトです。 ディスクリプタ CC にはレコードごとに平均 10 個の値が存在し、圧縮後の値の平均長は 4 バイトです。

フィールド定義:

01,AA,5,U,DE
01,CC,12,A,DE,MU
SP = 20,000 窶「  1 窶「  (3 + 4)
SP = 140,000 bytes 
SP = 20,000 窶「  10 窶「  (4 + 4)
SP = 1,600,000 bytes

必要なシリンダ数を計算するには、必要なブロック数をシリンダ当たりのブロック数で除算します。

モデル 3380 デバイスタイプの場合:

graphics/lod11_standard0.png

LOAD によるアソシエータの更新

ADALOD は、入力時に収集されたディスクリプタ値をソートした後、その値をノーマルインデックスおよびアッパーインデックス内に格納します。 割り当てられたインデックススペースがノーマルインデックスまたはアッパーインデックスに対して不十分であると、ADALOD によって 4 個までの追加エクステントが割り当てられます。

割り当てられた各追加エクステントは、インデックスに対して現在割り当てられているスペース合計の約 25 %です。 追加エクステントのスペースが不足しているか、割り当て済みのエクステントが最大数に達していると、ADALOD はエラーメッセージを出力して終了します。

Top of page

拡張ファイルのロード

拡張ファイルは、一連の標準 Adabas 物理ファイルで構成されます。 拡張ファイル内でのファイル順序は任意です。 最初のファイルが 53、2 番目ファイルが 127、3 番目のファイルが 13 などでもかまいません。 各コンポーネントファイルに割り当てられる ISN はユニークである必要があり、2 つのファイルに同じ ISN が存在することはできません。 全ファイルの ISN 範囲は昇順でなければなりませんが、順序間にギャップがあってもかまいません。

拡張ファイルチェーン内のレコード総数は、4,294,967,294 を超えることはできません。

拡張論理ファイルを構成する物理コンポーネントファイルの順序は、順序内での最初のコンポーネントファイル(アンカー)を定義する ANCHOR パラメータで定義されます。 アンカーファイルは他の Adabas ファイルと同様にロードされます。追加の各コンポーネントファイルは、アンカーファイルを参照する ANCHOR パラメータを使用してロードする必要があります。 ADALOD は、追加されたファイルに割り当てられた ISN 範囲に従って、新しい物理ファイルを既存の拡張ファイルチェーンに挿入します。 追加された各コンポーネントファイルのロード時には、NOACEXTENSION パラメータを指定して、Adabas で新しい ISN がコンポーネントファイルに割り当てられるのを防ぐ必要があります。

ADALOD は、アンカーファイルおよび拡張ファイルを構成する 1 つの物理(コンポーネント)ファイルのみを処理します。拡張ファイル全体を処理するのではありません。

拡張ファイルへのデータのロード

データ(数百万のレコードなど)を異なる物理ファイルにロードするには、まず入力データをいくつかの DDEBAND/EBAND 入力ファイルに分割する必要があります。 DDEBAND/EBAND ファイルデータは、SKIPREC および NUMREC パラメータを使用してコンポーネントファイルにマッピングできますが、スキップまたは限度なしの 1 対 1 のマッピングを推奨します。 これにより、後で使用されないレコードは読み込む必要がなくなるため、パフォーマンスが向上します。

拡張ファイルをロードするジョブの一部を抜粋した次の例で、DDEBAND/EBAND ファイルからコンポーネントファイルへのマッピングを示します。

//DDEBAND    DD DSN=LOAD.DATA.FILE1,...
//DDKARTE    DD *
ADALOD LOAD FILE=40,NAME='XXX_Part1'
ADALOD      MINISN=1,MAXISN=10000000,NOACEXTENSION
ADALOD      NUMREC=10000000
ADALOD        DSSIZE=...,NISIZE=...,UISIZE...
ADALOD        SORTSIZE=...,TEMPSIZE=...
            .
            .

//DDEBAND    DD DSN=LOAD.DATA.FILE1,...
//DDKARTE    DD *
ADALOD LOAD FILE=41,NAME='XXX_Part2',ANCHOR=40
ADALOD      MINISN=10000001,MAXISN=20000000,NOACEXTENSION
ADALOD      NUMREC=10000000,SKIPREC=10000000
ADALOD        DSSIZE=...,NISIZE=...,UISIZE...
ADALOD        SORTSIZE=...,TEMPSIZE=...
            .
            .

//DDEBAND    DD DSN=LOAD.DATA.FILE2,...
//DDKARTE    DD *
ADALOD LOAD FILE=35,NAME='XXX_Part2',ANCHOR=40
ADALOD      MINISN=20000001,MAXISN=30000000,NOACEXTENSION
ADALOD      NUMREC=10000000
ADALOD        DSSIZE=...,NISIZE=...,UISIZE...
ADALOD        SORTSIZE=...,TEMPSIZE=...  
            .
            .

Top of page

マルチクライアントファイルのロード

注意:
マルチクライアントファイルを拡張ファイルの一部分にすることはできません。また、拡張ファイルをマルチクライアントファイルに変換することもできません。

マルチクライアントファイルには、複数のユーザーまたはユーザーグループのレコードが格納されます。 マルチクライアント機能では、各レコ―ドにオーナー ID をつけることで、物理ファイルを複数の論理ファイルに分割します。 各ユーザーは、ユーザーのオーナー ID に関連付けられたレコードのサブセットだけにアクセスできます。

RACF や CA-Top Secret などの外部セキュリティパッケージがインストールされている場合でも、ユーザーは変わらず Natural ETID またはログオン ID で識別されます。 オーナー ID は、ユーザー ID に対して割り当てられます。 1 つのユーザー ID は、1 つのオーナー ID しか持つことができませんが、同じオーナー ID が複数のユーザーに所属していてもかまいません。

ADALOD LOAD 機能では、標準環境からマルチクライアント環境へのアプリケーションの移行をサポートするため、LOWNERID および ETID パラメータを使用します。 これらのパラメータが組み合わされて、オーナー ID の定義と、およびファイルがマルチクライアントファイルかどうかの判断が行われます。

LOWNERID は、マルチクライアントファイルの各レコードに割り当てる内部オーナー ID 値の長さを指定します。 ETID パラメータと組み合わせると、LOWNERID パラメータは、標準ファイルをマルチクライアントファイルとして再ロードしたり、ファイルのオーナー ID 長を変更したり、ファイルのレコードからオーナー ID を削除するために使用できます。

LOWNERID パラメータを指定しなければ、入力ファイル用のオーナー ID の長さは、引き続き同じ長さになります。

ETID は、マルチクライアントファイルの中にロードされる全レコードに新しいオーナー ID を割り当てます。入力ファイルにオーナー ID が含まれていない場合、つまり、マルチクライアントソースファイルからアンロードした入力ファイルでない場合、ETID パラメータを必ず指定しなければなりません。

マルチクライアントファイルのロード/更新例

ADALOD LOAD FILE=20,LOWNERID=2,NUMREC=0

ファイル 20 をマルチクライアントファイルとして作成します。 内部オーナー ID の長さは 2 バイトですが、実際のオーナー ID(ETID)は指定されていません。 実際にファイルにはレコードが 1 つもロードされていません(NUMREC=0)。

ADALOD LOAD FILE=20,LOWNERID=2,ETID=USER1

ファイル 20 をマルチクライアントファイルとして作成し、指定されたレコードをすべてロードし、それにユーザー USER1 を割り当てます。 内部オーナー ID の長さは 2 バイトです。

ADALOD UPDATE FILE=20,ETID=USER2

一括更新を実行して、マルチクライアントファイルであるファイル 20 にレコードを追加します。 新しいレコードをすべてロードし、それに USER2 を割り当てます。

Top of page