ADAFDU(ファイル定義)

このドキュメントでは ADAFDU ユーティリティについて説明します。

次のトピックについて説明します。


機能概要

ファイル定義ユーティリティ ADAFDU では、データベースの新しい基本ファイルや LOB ファイルを定義します。Adabas ニュークリアスがアクティブである必要はありません。

外部キーの特殊ディスクリプタ定義および参照整合性定義をはじめとする基本ファイルのフィールド定義は、シーケンシャルファイル FDUFDT から読み取られます。LOB ファイルのフィールド定義は、あらかじめ定義されています。ADAFDU の追加入力はパラメータで指定します。

注意:
新しいファイルに照合ディスクリプタが含まれる場合は、常に ICU バージョン 5.4 で作成されます。

データベースのファイルの論理的な構造を定義するためのデータ定義の構文および使用方法については、『管理マニュアル』の「FDT のレコード構造」を参照してください。

ファイルに必要なアソシエータおよびデータストレージのスペースを計算するための公式については、『管理マニュアル』の「データのロードとアンロード」の「ファイルのスペースの見積り」を参照してください。

データベースでファイルの論理構造を定義するデータ定義の構文と使用方法については、『管理マニュアル』の「FDT のレコード構造」を参照してください。

ファイルに必要なアソシエータとデータストレージのスペースを計算する公式については、『管理マニュアル』の「データのロードとアンロード」の「ファイルのスペースの見積り」を参照してください。

このユーティリティは単一機能ユーティリティです。

処理フロー

graphics/adafdu1.png

Offline Mode

ニュークリアスがアクティブではない場合、ADAFDU が ASSO と DATA に新しいファイルを作成します。

graphics/adafdu2.png

Online Mode

Adabas ニュークリアスがアクティブな場合、ADAFDU は ASSO と DATA に新しいファイルを作成するためにニュークリアスを呼び出します。この場合、チェックポイントは書き込まれませんが、ファイルの作成に関する情報、データベースログに書き込まれます。リカバリの場合は、ファイルが自動的に作成されます。

データセット 環境
変数/
論理名
記憶
媒体
追加情報
アソシエータ ASSOx ディスク  
データストレージ DATAx ディスク  
コントロールステートメント stdin/
SYS$INPUT
  ユーティリティマニュアル
ADAFDU メッセージ stdout/
SYS$OUTPUT
  メッセージおよびコード
FDT 情報 FDUFDT ディスク、テープ(* 注意を参照)  
プロテクションログ NUCPLG ディスク ユーティリティマニュアル
ADAPLP

注意:
(*)このシーケンシャルファイルには、名前付きパイプを使用できます(OpenVMS にはない。詳細については、『Adabas Basics』の「ユーティリティの使用」を参照)。

チェックポイント

ユーティリティは、オフラインで実行されると、SYNP チェックポイントを書き込みます。ユーティリティをオンラインで実行すると、ファイル定義が PLOG に書き込まれ、SYNX チェックポイントが書き込まれます。

制御パラメータ

次のコントロールパラメータを使用できます。

     ACBLOCKSIZE = numberK

     ACRABN = number

     ADAM_KEY = key

D    ADAM_OVERFLOW = number

D    ADAM_PARAMETER = number

     ADD_LOBFILE = (number,number)

D    ASSOPFAC = number

D    [NO]BT

D    [NO]CIPHER

D    CONTIGUOUS = ([AC], [,DS] [,NI] [,UI])

D    DATAPFAC = number

M    DBID = number

     DSBLOCKSIZE = numberK

     DSRABN = number

D    DSSIZE = number[B|M]

     FDT

    FILE = number

D    [NO]FORMAT

     LOBFILE = number [,LOBSIZE = number[B|M]]

D    [NO]LOWER_CASE_FIELD_NAMES

D    MAXISN = number

D    NAME{=|:} string

     NIBLOCKSIZE = numberK|(numberK,numberK)

     NIRABN = number|(number,number)

D    NISIZE = number[B|M]|(number[B|M],number[B|M])

     [NO]PGM_REFRESH

D    REUSE = (keyword [,keyword])

    SYFMAX = number

     UIBLOCKSIZE = numberK|(numberK,numberK)

     UIRABN = number|(number,number)

D    UISIZE = number[B|M]|(number[B|M],number[B|M])

ACBLOCKSIZE

ACBLOCKSIZE = numberK

このパラメータで、アドレスコンバータエクステントの割り当てに使用するコンテナのブロックサイズを指定することができます。

例:

acblocksize = 6k

アドレスコンバータは 6 キロバイトのブロックサイズで割り当てられます。

このブロックサイズのスペースがデータベースに不足している場合、ADAFDU は終了します。

ACRABN

ACRABN = number

このパラメータは、アドレスコンバータに対するスペース割り当てを開始する RABN を指定するものです。

このパラメータを使用して、指定したコンテナファイルのエクステントにアドレスコンバータを割り当てることができます。

このパラメータを省略すると、ADAFDU が開始 RABN を割り当てます。

ADAM_KEY

ADAM_KEY = key

このパラメータを指定すると、ファイルは ADAM ファイルとして定義されます。キーは、ディスクリプタ名とキーワード ISN のどちらでもかまいません。ADAM キーを使用するには、UQ オプションとともに FDT に定義しておく必要があります。キーは、サブディスクリプタ、スーパーディスクリプタ、フォネティックディスクリプタ、ハイパーディスクリプタ以外でなければいけません。マルチプルバリューフィールドやピリオディックグループ内のフィールドに ADAM キーを定義することはできません。また、NU/NC オプションを持つフィールドには指定できません。

ADAM_OVERFLOW

ADAM_OVERFLOW = number

このパラメータは、ファイルの DATA オーバーフローブロック数を指定するものです。ADAM の計算上のブロック数が多すぎて割り当てできない場合に、オーバーフローブロックが必要になります。オーバーフローブロックはファイルの DATA ブロックの最後から取られます。

graphics/graphic67.gif

オーバーフローブロックは、少なくとも 1 ブロックを割り当てる必要があります。

最大値は(DSSIZE-1)です。

注意:
最大値のチェック時に、DSSIZE がメガバイト単位で指定されている場合は、データストレージのブロックサイズが、実際の値と関係なく 32 であると想定されます。データストレージのブロックサイズが小さければ、より大きい値を ADAM_OVERFLOW に指定することが可能ですが、その場合には、DSSIZE をブロック単位で指定する必要があります。

デフォルトは 1 です。

ADAM_PARAMETER

ADAM_PARAMETER = number

このパラメータは、ADAM_KEY パラメータにキーワード ISN が指定されている場合の、1 ブロックに格納される連続する ISN の数を指定するものです。

ADAM キーが固定小数点形式のディスクリプタの場合は、パラメータは 1 ブロックに格納される連続する値の数を指定します。その他のキーフォーマットの場合は、値のオフセットを指定します。

ADAM キーが固定小数点形式のディスクリプタの場合は、パラメータは 1 ブロックに格納される連続する値の数を指定します。その他のキーフォーマットの場合は、値のオフセットを指定します。詳細については、『管理マニュアル』を参照してください。

値としては、1 から 10000 まで指定できます。

デフォルト値は 8 です。

ADD_LOBFILE

ADD_LOBFILE = (number, number)

パラメータ ADD_LOBFILE を使用して LOB ファイルを作成し、最初の番号で指定した既存の基本ファイルに割り当てます。その基本ファイルには、LOB ファイルがまだ割り当てられていない必要があります。第 2 の番号で指定したファイル番号の LOB ファイルが生成され、基本ファイルに割り当てられます。基本ファイルでは LOB 処理が可能になります。指定したファイル番号のファイルは、存在していない必要があります。指定できる最大数値は 32000 です。LOB ファイルのデータストレージ、アドレスコンバータ、ノーマルインデックスとアッパーインデックスを記述するパラメータを指定できますが、次を考慮する必要があります。

  • LOB ファイルのデータブロックのブロックサイズは 32 KB にする必要があります。

  • LOB の NI ブロックと UI ブロックのブロックサイズは 16 KB より小さくする必要があります。

ADD_LOBFILE と FILE を同時に指定することはできません。

LOB ファイルには要件があらかじめ定義されているので、ADAM_* パラメータなどのように、すべての ADAFDU パラメータが ADD_LOBFILE に関係があるというわけではありません。このようなパラメータは、LOB ファイルが追加されたとき、ADAFDU によって無視されます。

ASSOPFAC

ASSOPFAC = number

このパラメータは、ファイルのインデックスに使用されるパディングファクタを指定するものです。この指定数値は、後続の一括更新ユーティリティ ADAMUP の実行時に、使用されない各インデックスブロックのパーセンテージになります。このパディングエリアは、Adabas ニュークリアスによって、将来ブロックにエントリを追加する必要が発生した場合に使用できるように予約されています。これにより、オーバーフローエントリを他のブロックに再配置する必要がなくなります。

指定可能な値の範囲は 0~95 です。

ディスクリプタの更新頻度が少ないかまったくない場合には、小さいパディングファクタ(0~10)を指定します。新規ディスクリプタ値が作成されるような大量のディスクリプタ更新がある場合は、大きなパディングファクタ(10~50)を指定します。

パディングファクタは、ユーティリティ ADAORD を使用して後から変更できます。

デフォルトのパディングファクタは 5 です。

[NO]BT

[NO]BT

NOBT を指定すると、このファイルは BT 以外のファイルになります。つまり、このファイルの変更は通常のトランザクションロジックでは行われず、トランザクションがバックアウトされても、すべての変更はデータベースで維持されます。

BT がデフォルトです。

注意:
ニュークリアスがクラッシュした場合は、次の点を考慮してください。

  • 前回の ET コマンドの前に発行された、BT 以外のファイルのすべてのデータベース更新は、データベースに適用されます。

  • 前回の ET コマンドの後に発行された、BT 以外のファイルのデータベース更新がデータベースに適用されるかどうかははっきりしません。

[NO]CIPHER

[NO]CIPHER

このオプションは、データレコードの暗号化を有効または無効にするのに使用できます。

暗号化しておけば、Adabas コンテナファイルの内容を権限のないユーザーに見られる心配がなくなります。暗号化が有効であれば、データレコードは Adabas ニュークリアスまたは一括更新ユーティリティ ADAMUP のいずれかを使用して、データベースに格納されるときに暗号化されます。データレコードは、ユーザーとアプリケーションのいずれかから要求があれば復号化されます。したがって、暗号化はどちらからも完全に透過的です。暗号化の詳細については、『管理マニュアル』の「Adabas のセキュリティ機能」を参照してください。

暗号化しておけば、Adabas コンテナファイルの内容を権限のないユーザーに見られる心配がなくなります。暗号化が有効であれば、データレコードは Adabas ニュークリアスまたは一括更新ユーティリティ ADAMUP のいずれかを使用して、データベースに格納されるときに暗号化されます。データレコードは、ユーザーとアプリケーションのいずれかから要求があれば復号化されます。したがって、暗号化はどちらからも完全に透過的です。暗号化の詳細については、『管理マニュアル』の「Adabas のセキュリティ機能」を参照してください。

デフォルトは NOCIPHER です。

CONTIGUOUS

CONTIGUOUS = ( [AC] [,DS] [,NI] [,UI] )

このパラメータは、ADAFDU のスペース割り当ての制御に使用されます。指定すると、指定したタイプの最初の論理エクステントのみが使用されるようになります。

デフォルトでは、ADAFDU はできる限り連続した領域に割り当てようとします。

DATAPFAC

DATAPFAC = number

このパラメータは、ファイルのデータストレージに使用されるパディングファクタを指定するものです。指定される値は、後で一括更新ユーティリティ ADAMUP または Adabas ニュークリアスを使用してファイルに新規レコードを追加するときに、使用してはならない各データブロックのパーセンテージです。このパディングエリアは、Adabas ニュークリアスによるレコード更新の結果として、ブロック内のレコードが追加スペースを必要とする場合に将来的に使用するために確保されます。これによって、レコードを別のブロックに割り当て直す必要性を回避することができます。

値としては、0 から 95 までが指定可能です。

レコード拡張の頻度が少ないかまったくない場合は、小さいパディングファクタ(0~10)を指定します。拡張が発生するような大量のレコード更新がある場合は、大きなパディングファクタ(10~50)を指定します。

パディングファクタは、ユーティリティ ADAORD を使用して後から変更できます。

デフォルトのパディングファクタは 5 です。

DBID

DBID = number

このパラメータは、使用対象となるデータベースを選択するためのものです。

DSBLOCKSIZE

DSBLOCKSIZE = numberK

このパラメータで、データストレージエクステントの割り当てに使用するブロックサイズを指定することができます。

例:

dsblocksize = 6k

データストレージは 6 キロバイトのブロックサイズで割り当てられます。

このブロックサイズのスペースがデータベースに不足している場合、ADAFDU は終了します。

DSRABN

DSRABN = number

このパラメータは、データストレージのスペース割り当てを開始する RABN を指定するためのものです。

このパラメータは、データストレージを任意のコンテナファイルエクステントに割り当てるのに使用できます。

このパラメータを省略すると、ADAFDU が開始 RABN を割り当てます。

DSSIZE

DSSIZE = number [B|M]

このパラメータは、データストレージに割り当てるスペースをブロック数またはメガバイト数で指定するものです。デフォルトでは、サイズはメガバイト単位で認識されます。

DSSIZE に指定した値は、該当ファイルのデータストレージに対して割り当てられる論理エクステントのサイズを決定します。

CONTIGUOUS=DS が指定されない限り、できるだけ物理的に連続した領域に割り当てようとする方式が適用されます。

このパラメータは ADAM ファイルの場合には必須です。パラメータ ADAM_OVERFLOW と DSSIZE の間の依存関係については、パラメータ ADAM_OVERFLOW の部分で説明しています。

ADAM 以外のファイルでは、このパラメータを省略できます。この場合、Adabas がデータストレージに使用する合理的なブロック数を計算します。実際に必要なサイズの方が大きい場合、ファイルのサイズが自動的に増やされます。

FDT

FDT

このパラメータを指定すると、シーケンシャルファイル FDUFDT に含まれた FDT が表示されます。

FILE

FILE = number

このパラメータは、基本ファイルを作成するときに必要となります。ファイルに割り当てるファイル番号を指定します。

"number" に指定する番号は、現時点でデータベース内の他のファイルに割り当てられておらず、データベースに対して定義可能な最大ファイル番号を超えないものでなければなりません。指定できる最大数値は 32000 です。

ファイル番号の割り当てはどのシーケンスでも可能です。

ADD_LOBFILE と FILE を同時に指定することはできません。

[NO]FORMAT

[NO]FORMAT

このオプションは、ファイルのインデックスおよびデータストレージに対して割り当てられた RABN をフォーマット化するかどうかの制御に使用されます。ファイルのアドレスコンバータの RABN は、常にフォーマット化されます。

デフォルトは NOFORMAT です。

LOBFILE

LOBFILE = number [, LOBSIZE = number[B|M]]

LOBFILE を指定すると、指定した番号の LOB ファイルが生成され、作成される基本ファイルに割り当てられます。この基本ファイルでは LOB 処理が可能になります。指定したファイル番号の LOB ファイルは、存在していない必要があります。指定できる最大数値は 32000 です。次のことを考慮してください。

  • LOB ファイルのデータブロックのブロックサイズは 32 KB にします。

  • LOB の NI ブロックと UI ブロックのブロックサイズは 16 KB より小さくします。

  • LOBSIZE では、パラメータ DSSIZE と同じように、LOB ファイルのデータストレージのサイズを指定します。

  • Adabas は、アドレスコンバータの合理的なサイズ、LOB ファイルのノーマルインデックスとアッパーインデックスのサイズを計算します。この値を自分で指定する場合は、LOBFILE を指定せずに基本ファイルを最初に作成してから、ADAFDU を再び呼び出して、ADD_LOBFILE パラメータで LOB ファイルを追加する必要があります。

[NO]LOWER_CASE_FIELD_NAMES

[NO]LOWER_CASE_FIELD_NAMES

LOWER_CASE_FIELD_NAMES が指定されている場合、Adabas フィールド名は、大文字に変換されません。NOLOWER_CASE_FIELD_NAMES が指定されている場合、Adabas フィールド名は、大文字に変換されます。デフォルトは、NOLOWER_CASE_FIELD_NAMES です。

MAXISN

MAXISN = number

このパラメータは、ファイルで見積られる最大の ISN を指定するものです。ファイル定義ユーティリティ ADAFDU は、このパラメータを使用してファイルのアドレスコンバータ(AC)に割り当てるスペース量を決定します。MAXISN のデフォルト値は 5000 です。

CONTIGUOUS=AC が指定されていない限り、できるだけ物理的に連続した領域に割り当てようとする方式が適用されます。

注意:
値は、アドレスコンバータでの MAXISN ISN の保存に必要なアドレスコンバータブロックに収まる ISN 数に切り上げられます。ファイルの MAXISN として使用される正確な値は次の通りです。
(指定された MAXISN / (アドレスコンバータブロックサイズ / 4) + 1) * (アドレスコンバータブロックサイズ / 4) -1例えば、ブロックサイズが 4 KB のアドレスコンバータを使用する場合、デフォルト値 5000 は、(5000 / (4096 / 4) + 1) * (4096 / 4) -1 = 5119 に増えます。

NAME

NAME {=|:} string

このパラメータは、ファイルに割り当てる名前を指定するものです。この名前は、このファイルに関するデータとともにレポートユーティリティ ADAREP が作成するデータベースステータスレポート内に表示されます。最大 16 文字までが指定できます。等号を指定すると、「文字列」に指定された値が大文字に変換されます。コロンを指定した場合は、大文字への変換は実行されません。

デフォルト値は FILE-n です(n はファイル番号)。

NIBLOCKSIZE

NIBLOCKSIZE = numberK|(numberK,numberK)

このパラメータで、ノーマルインデックスの割り当てに対するブロックサイズを指定することができます。大きい方のインデックス値のサイズが 253 バイトを超える場合には、ノーマルインデックスに 16 KB 以上のブロックサイズが必要になりますが、ディスクリプタの値が小さい場合には、そのディスクリプタには小さなブロックが割り当てられます。次の点を考慮してください。

  • ブロックサイズを 1 つだけ指定した場合、ファイルはそのブロックサイズのノーマルインデックスブロックだけで作成されます。

  • ブロックサイズを 2 つ指定する場合、一方の値は 16K 未満、もう一方の値は 16K 以上にする必要があります。NISIZEにも 2 つの値を指定する必要があります。NIBLOCKSIZE の最初の値は NISIZE の最初の値に対応し、NIBLOCKSIZE の 2 番目の値は NISIZE の 2 番目の値に対応します。

例:

niblocksize = 6k

ノーマルインデックスは 6 キロバイトのブロックサイズで割り当てられます。

niblocksize = (8k,32k)
nisize = (1000b,10m)

ノーマルインデックスは、ブロックサイズ 8 KB のブロックが 1000 ブロックとブロックサイズ 32 KBのブロックが 10 MB のブロックで割り当てられます。

このブロックサイズのスペースがデータベースに不足している場合、ADAFDU は終了します。

NIRABN

NIRABN = number|(number,number)

このパラメータは、ノーマルインデックスのスペース割り当てを開始する RABN を指定するためのものです。このパラメータは、任意のコンテナファイルのエクステントにノーマルインデックスを割り当てるのに使用されます。

2 つの RABN が指定されている場合、一方のブロックサイズは 16 KB 未満、もう一方のブロックサイズは 16 KB 以上にする必要があります。

このパラメータを省略すると、ADAFDU が開始 RABN を割り当てます。

NIBLOCKSIZE と NIRABN の両方が指定される場合、NIRABN として指定された RABN のブロックサイズは NIBLOCKSIZE として指定された値と等しくなければなりません。

NISIZE

NISIZE = number [B|M]|(number [B|M],number [B|M])

このパラメータは、ノーマルインデックスに対して割り当てられるスペースをブロック数またはメガバイト数で指定するものです。デフォルトでは、サイズはメガバイト単位です。

ブロックサイズを NIBLOCKSIZE または NIRABN パラメータから引き出すことができない場合、NISIZE の最初の値は 16 KB 未満のブロックに使用され、2 番目の値は 16 KB 以上のブロックに使用されます。

CONTIGUOUS=NI が指定されていない限り、できるだけ物理的に連続した領域に割り当てようとする方式が適用されます。

このパラメータを省略すると、Adabas はノーマルインデックスに使用する適切なブロック数を計算します。

例:

adafdu: nisize = 100b

ブロックサイズを NIBLOCKSIZE または NIRABN パラメータから引き出すことができない場合、ブロックサイズ 16 KB 未満の 100 個のブロックがノーマルインデックスに割り当てられます。

adafdu: nisize = (10m,1000b)

ブロックサイズを NIBLOCKSIZE または NIRABN パラメータから引き出すことができない場合、ブロックサイズ 16 KB 未満の 10 MB ブロックと、ブロックサイズ 16 KB以上の 1000 個のブロックのノーマルインデックスに割り当てられます。

[NO]PGM_REFRESH

[NO]PGM_REFRESH

PGM_REFRESH を指定すると、ファイルをロードするときに、E1 コマンドによってファイルのリフレッシュが可能です(0 件のレコードをロードした状態にリセット)。

デフォルトは、NOPGM_REFRESH です。

REUSE

REUSE = ( keyword [,keyword] )

REUSE パラメータはデータストレージスペースまたは ISN の Adabas による再使用を制御します。

REUSE = [NO]DS

NODS を指定する場合、新しく追加されたレコードと、他のブロックに移動する必要があるレコード(更新によてレコードが拡張された結果)は、ファイルに割り当てられたデータストレージエクステントの中にある、最終使用ブロック内に移されます。このブロックに十分なスペースがない場合、次のブロックが使用されます。

DS キーワードを指定する場合、十分なスペースを持つブロックを探すためのデータストレージスペーステーブル(DSST)の検索が Adabas によって行われます。この場合、十分なスペースを持つものとして最初に検出されたブロックが使用されます。

指定ファイルのファイルコントロールブロックは、新規レコードの追加時または更新レコードの移動時に使用される割り当てのタイプを示すように修正されます。

デフォルト値は DS です。

REUSE = [NO]ISN

キーワードの NOISN を指定する場合、削除レコードの ISN は新規レコードに再利用されません。新規レコードにはそれぞれ次に大きい未使用 ISN が割り当てられます。

ISN に REUSE が設定されている場合は、削除されたレコードの ISN を Adabas で再利用できます。ISN 再利用は次のように行われます。新しいレコードがデータベースに保存されると、アドレスコンバータ(AC)ブロックが読み取られ、空き ISN がチェックされます。ISN 再利用のオーバーヘッドを小さく抑えるために、AC ブロックは 1 つだけ読み込まれます。AC ブロックに空いている ISN がない場合は、ISN 再利用がオフの場合と同様に処理されます。

注意:
ISN に REUSE を設定しても、必ずしも ISN 再利用が実際に行われるとは限りません。ISN 再利用の失敗は、追加の AC ブロックを読み取るオーバーヘッドにつながるので、再利用できる ISN が見つかる可能性が低い場合、Adabas は ISN 再利用を非アクティブにします。十分な数のレコードを削除した後で、ISN 再利用が再びアクティブになります。

デフォルト値は NOISN です。

adafdu: reuse = (isn, ds)

削除レコードの ISN は、新規レコードに再割り当てされます。データベースにレコードを追加するか、データベース内で更新レコードを移動するときに、DSST に空きスペースがあるかどうかチェックされます。

adafdu: reuse = isn

データストレージおよび ISN の再利用が可能です。

adafdu: reuse = <cr>

データストレージを再使用し、ISN を再使用しないという指定です。これはデフォルト設定です。

SYFMAX

SYFMAX = number

このパラメータは、システム生成マルチプルバリューフィールドに対して、生成される値の最大数を指定します。明示的な最大値はありませんが、値が高く定義されると、レコードオーバーフローが発生することに注意してください。圧縮データレコードは 1 つの DATA ブロック内に収まる必要もあり、SYFMAX 値がシステム生成マルチプルバリューフィールドに対して定義されています。

デフォルト値は 1 です。

UIBLOCKSIZE

UIBLOCKSIZE = numberK|(numberK,numberK)

このパラメータで、アッパーインデックスの割り当てに対するブロックサイズを指定することができます。大きい方のインデックス値のサイズが 253 バイトを超える場合には、アッパーインデックスに 16 KB 以上のブロックサイズが必要になりますが、ディスクリプタの値が小さい場合には、そのディスクリプタには小さなブロックが割り当てられます。次の点を考慮してください。

  • ブロックサイズを 1 つだけ指定した場合、ファイルはそのブロックサイズのノーマルインデックスブロックだけで作成されます。

  • ブロックサイズを 2 つ指定する場合、一方の値は 16K 未満、もう一方の値は 16K 以上にする必要があります。UISIZE にも 2 つの値を指定する必要があります。UIBLOCKSIZE の最初の値は UISIZE の最初の値に対応し、UIBLOCKSIZE の 2 番目の値は UISIZE の 2 番目の値に対応します。

例:

uiblocksize = 6k

アッパーインデックスは 6 キロバイトのブロックサイズで割り当てられます。

uiblocksize = (8k,32k)
uisize = (1000b,10m)

アッパーインデックスは、ブロックサイズ 8 KB のブロックが 1000 ブロックとブロックサイズ 32 KBのブロックが 10 MB のブロックで割り当てられます。

このブロックサイズのスペースがデータベースに不足している場合、ADAFDU は終了します。

UIRABN

UIRABN = number|(number,number)

このパラメータは、アッパーインデックスのスペース割り当てを開始する RABN を指定するためのものです。このパラメータは、コンテナファイルエクステントにアッパーインデックスを割り当てるのに使用されます。

2 つの RABN が指定されている場合、一方のブロックサイズは 16 KB 未満、もう一方のブロックサイズは 16 KB 以上にする必要があります。

UIBLOCKSIZE と UIRABN の両方が指定される場合、UIRABN として指定された RABN のブロックサイズは UIBLOCKSIZE として指定された値と等しくなければなりません。

このパラメータを省略すると、ADAFDU が開始 RABN を割り当てます。

UISIZE

UISIZE = number [B | M]

このパラメータは、アッパーインデックスに対して割り当てられるスペースをブロック数またはメガバイト数で指定するものです。デフォルトでは、サイズはメガバイト単位です。

ブロックサイズを UIBLOCKSIZE または UIRABN パラメータから引き出すことができない場合、UISIZE の最初の値は 16 KB 未満のブロックに使用され、2 番目の値は 16 KB 以上のブロックに使用されます。

CONTIGUOUS=UI が指定されない限り、できるだけ物理的に連続した領域に割り当てようとする方式が適用されます。

このパラメータを省略すると、Adabas はアッパーインデックスに使用する適切なブロック数を計算します。

例:

adafdu: dbid = 1, file = 6, maxisn = 20000, dssize = 100B,
adafdu: assopfac = 10, datapfac = 10,
adafdu: uisize = 20b, nisize = 5

ファイル 6 をロードします。ファイルに対して最大見積りレコード数 20000 がプリセットされます。データストレージに対しては、100 ブロックが割り当てられます。アソシエータおよびデータストレージのパディングファクタは両方とも 10 %です。アッパーインデックスには、20 ブロックが割り当てられ、ノーマルインデックスには、5 メガバイトが割り当てられます。ノーマルインデックスの ISN サイズには、暗黙的に 2 が設定されます。

例:

adafdu: dbid = 1, file = 7, maxisn = 350000,
adafdu: assopfac = 5, datapfac = 15,
adafdu: dssize = 100,
adafdu: uisize = 2, nisize = 30  

ファイル 7 をロードします。ファイルに対しては最大見積りレコード数 350000 がプリセットされます。アソシエータパディングファクタは 5 %です。データストレージパディングファクタは 15 %です。データストレージに対しては、100 メガバイトが割り当てられます。ノーマルインデックスの ISN サイズには、暗黙的に 4 が設定されます。

例:

adafdu: dbid = 1, file = 8,
adafdu: maxisn = 10000, dssize = 20,
adafdu: uisize = 10b, nisize = 50b

ファイル 8 をロードします。ファイルに対しては最大見積りレコード数 10000 がプリセットされます。データストレージに対しては、20 メガバイトが割り当てられます。アソシエータとデータストレージのパディングファクタは両方とも 5 %(デフォルト)です。

例:

adafdu: dbid = 1, file = 9, maxisn = 55000, dssize = 2000b, dsrabn = 30629,
adafdu: uisize = 50b, nisize = 300b,
adafdu: assopfac = 20, datapfac = 10

ファイル 9 をロードします。ファイルに対しては最大見積りレコード数 55000 がプリセットされます。データストレージに対しては、2000 ブロックが割り当てられます。データストレージの割り当ては RABN 30629 から開始されます。アッパーインデックスに対しては、50 ブロックが割り当てられます。ノーマルインデックスに対しては、300 ブロックが割り当てられます。アソシエータのパディングファクタは 20 %です。データストレージのパディングファクタは 10 %です。

例:

adafdu: dbid = 1, file = 10, maxisn = 20000

ファイル 10 をロードします。ファイルに対して最大見積りレコード数 20000 がプリセットされます。すべてのスペース割り当ては Adabas によって計算されます。