バージョン 8.1.3
 —  DBA タスク  —

拡張ファイル

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


概要

拡張ファイルは、1 つ以上の物理コンポーネントファイルで構成された論理ファイルです。 各コンポーネントファイルには、物理 ISN 番号ではなく、論理的に番号付けされたレコードが入っています。 これらの物理コンポーネントファイルには、次のものが必要です。

コンポーネントファイル間は、昇順の ISN 順に連鎖しています。 最小の ISN 範囲を持つファイルをアンカーファイルと呼び、そのファイル番号は、拡張ファイル全体の番号です。

拡張ファイルは、最高 128 個のコンポーネントファイルで構成できます。また、4,294,967,294 件のレコードを超過してはなりません。 3 バイト ISN の Adabas コンポーネントファイルには、最高 16,777,215 件までのレコードが入り、4 バイト ISN のコンポーネントファイルには、4,294,967,294 件までのレコードが入ります。

注意:
Adabas は大きいファイルサイズや、より多くの Adabas 物理ファイルやデータベースをサポートするので、拡張ファイルの必要性はほとんどなくなっています。

拡張ファイルは、Adabas の次の機能でサポートされます。

Top of page

拡張ファイルの定義

ADALOD の使用

拡張ファイルはロード時に定義します。 各物理コンポーネントファイルは、ADALOD LOAD 機能を使って別々にロードします。 最初のコンポーネントファイルを除くすべてのファイルは、アンカーファイルを参照するために ANCHOR パラメータを指定しなければなりません。 ADALOD LOAD 機能は、次の処理を実行します。

次の例は、ADALOD LOAD ステートメントの拡張ファイルの定義について示しています(関連パラメータだけを示します)。

ADALOD  LOAD FILE=11,NOACEXTENSION
ADALOD       MINISN=1,MAXISN=16000000
ADALOD       ...

ADALOD  LOAD FILE=23,NOACEXTENSION
ADALOD       ANCHOR=11
ADALOD       MINISN=36000001,MAXISN=50000000
ADALOD       ...

ADALOD  LOAD FILE=17,NOACEXTENSION
ADALOD       ANCHOR=11
ADALOD       MINISN=20000001,MAXISN=36000000

この例は、ファイル 11 を拡張ファイルとしてロードします。拡張ファイルの構成は、次のとおりです。

ファイル 11、ISN 範囲: 1~16,000,000
ファイル 17、ISN 範囲: 20,000,001~36,000,000
ファイル 23、ISN 範囲: 36,000,001~50,000,000

オンラインシステムの使用

拡張ファイルは、Adabas Online System のファイル定義機能を使って定義することもできます。 この機能は、拡張ファイルのアンカーまたはコンポーネントファイルとして指定でき、新しい空のファイルを作成します。 拡張ファイルメンテナンス機能を使用して既存のファイルを連鎖させることができます。

拡張ファイルの定義規則

  1. 指定ファイルのアドレスコンバータの拡張(つまり、MAXISN の増加)を防止するために、必ず NOACEXTENSION パラメータを設定しなければなりません。

  2. 拡張ファイルのコンポーネントファイルをロードするとき、必ず MINISN パラメータを指定しなければなりません。

  3. コンポーネントファイルのファイル番号は、自由に選択できます。

  4. ANCHOR および FILE パラメータが同じファイル番号を指定すると、単一ファイルを拡張ファイルとしてロードします。

  5. 2 つめのコンポーネントファイルをロードするとき、拡張する既存の単一ファイルをアンカーファイルとして参照できます。 この場合、ADALOD は最初のファイルに NOACEXTENSION を設定してアンカーファイルにします。

    注意:
    この方法で作成したアンカーファイルは、コンポーネントファイルをすべて削除したときにそのアンカーステータスが失われます。 必要な場合は、ファイルをそれ自体に挿入して、アンカーステータスを再び確立できます。

  6. コンポーネントファイルの ISN 範囲は重複してはなりませんが、ファイル範囲間で未使用 ISN のギャップが存在してもかまいません。

  7. コンポーネントファイルが任意の順番でロードできます。

  8. 現在のアンカーファイルよりも低い ISN 範囲をもった新しいコンポーネントファイルをロードした場合、新しくロードしたファイルがアンカーファイルになります。 それ以降にロードするすべてのコンポーネントファイルの ANCHOR パラメータは、新しいアンカーファイルを参照しなければなりません。

Top of page

コンポーネントファイルの挿入

拡張ファイルの中にコンポーネントファイルを挿入するには、「拡張ファイルの定義」で説明しているように ADALOD LOAD 機能を使うか、Adabas Online System を使います。

オンラインシステムを使う場合は、ファイル定義機能を使って新しいファイルの作成と拡張ファイルへの挿入ができます。 また、コンポーネントファイル挿入機能を使って、既存のファイルを拡張ファイルの中に挿入することができます。

コンポーネントファイルの追加による影響については、このページの「拡張ファイルの定義規則」を参照してください。

Top of page

コンポーネントファイルの削除

Adabas Online System のファイル削除機能を使って、コンポーネントファイルを拡張ファイルから取り除いて削除することができます。 また、ファイルを削除せずに、拡張ファイルチェーンからコンポーネントファイルを取り除くには、Adabas Online System のコンポーネントファイルリムーブ機能を使用します。

コンポーネントファイルの追加による影響については、このページの「拡張ファイルの定義規則」を参照してください。

Top of page

拡張ファイルの削除

Adabas Online System のファイル削除機能では、拡張ファイル全体を削除することもできます。これにより、アンカーファイルとすべてのコンポーネントファイルが削除できます。 ADADBS ユーティリティの DELETE 機能も、拡張ファイル全体の削除に使用できます。

Top of page

拡張ファイルの調査

ADAREP ユーティリティの出力レポートは、個々のファイルに関する通常の情報に加えて、データベース内の各拡張ファイルのコンポーネントファイルリストを出力します。 拡張ファイル情報は、Adabas Online System のファイル表示機能を使っても入手できます。

Top of page

拡張ファイルと Adabas ニュークリアス

拡張ファイルを参照するユーザーコールは、Adabas ニュークリアスによって自動的に適切な物理コンポーネントファイルに送られます。 ユーザーやアプリケーションは、選択したファイルが拡張ファイルであるという通知をいっさい受けません。

Adabas コントロールブロックのファイル番号が拡張ファイルのコンポーネントファイルを指定した場合、そのコールは拡張ファイル全体に向けられたものと解釈されます。 したがって、拡張ファイルに統合されたファイルであれば、以前に既存のコンポーネントファイルにアクセスしたユーザーアプリケーションを変更せずにそのファイルにアクセスできます。なぜなら、コールは自動的に全拡張ファイルに適用されるからです。 しかし、便宜上、コールはアンカーファイルを参照することをお勧めします。

拡張ファイルに対して実行した機能が、複数のコンポーネントファイルからの結果を必要とする場合、それらの結果は結合されて 1 つの結果を作成します。 例えば、拡張ファイルに L2 コマンド(物理順に読み込み)を実行すると、アンカーファイルから順番にすべてのコンポーネントファイルの読み込みが行われます。 すなわち、1 つのコンポーネントファイルがエンドオブファイルに達すると、L2 は続けて次のコンポーネントファイルを自動的に読み込みます。 実行結果は、読み込まれた全ファイルから順番に累積されます。

その一方で、L3 コマンド(ディスクリプタ順の論理順読み込み)は、各コンポーネントファイルを別々に並行してコールするので、結果はコール元に返される前に 1 つのシーケンスにマージされます。

拡張ファイルのためのニュークリアスの変更

1 つのコマンドに対するコンポーネントファイルの並列処理を効率よく行うために、ニュークリアスセッションの ADARUN パラメータ値を大きくすることをお勧めします。

パラメータ 説明
LI ISN テーブル(TBI)の長さ
LQ シーケンシャルコマンドテーブルの長さ
LWP Adabas ワークプールエリアの長さ
LS 検索/ソートエリアの長さ
NQCID ユーザー当たりに許可された最大アクティブコマンド ID(CID)数

拡張ファイル使用時の制限拡張

拡張ファイル上で実行するプログラムには、次の制限事項が適用されます。

Top of page

拡張ファイルと Adabas ユーティリティ

拡張ファイルは Adabas コールを発行したユーザーには透過的ですが、Adabas ユーティリティを実行する DBA は拡張ファイルの存在を意識しておく必要があります。 Adabas ユーティリティは、次のどちらかの方法で拡張ファイルを処理します。

拡張ファイル全体を処理する機能

拡張ファイル全体を処理するユーティリティ機能には、ADADBS、ADARES、および ADASAV の次の機能があります。

ADADBS DELETE 機能

拡張ファイル全体を削除します。

ADARES REGENERATE および BACKOUT FILE 機能

ファイルリスト中にコンポーネントファイルの 1 つが指定されていると、拡張ファイル全体として処理します。 このとき、他のすべてのコンポーネントファイルも指定しなければなりません。

ADASAV

コンポーネントファイルを処理する機能

コンポーネントファイルを処理するユーティリティ機能には、ADADBS、ADAINV、ADALOD、ADAORD、ADAACK、ADADCK、ADAICK、ADAVAL、ADAULD、ADASCR の次の機能があります。

ADAACK、ADADCK、ADAICK、ADAVAL、ADAULD

これらのユーティリティ機能はすべて、単一のコンポーネントファイルだけをチェックします。

ADADBS

ADAINV

ADALOD UPDATE 機能

単一のコンポーネントファイルにレコードを追加/削除します。 複数またはすべてのコンポーネントファイルの大量更新を実行するときは、すべてのコンポーネントファイルの完全な削除 ISN リストを提供できます。 ADALOD は自動的に、現在処理中のコンポーネントファイルに該当する ISN 値だけを指定範囲から選択します。 USERISN=YES で新規レコードを追加するときも同じです。

USERISN=NO で新レコードを追加するときに空き ISN が見つからないと、ISN 範囲の増加ができないので(NOACEXTENSION は全コンポーネントファイルに対して有効)、ローダーは新アドレスコンバータエクステントを割り当てることができません。 その代り、ADALOD は、エンドオブファイルになったときと同じようにインデックスを作成します。 ロードされなかった残りのレコードは後から SKIPREC パラメータを使用して別のコンポーネントファイルに追加することができます。

ADALOD は、各コンポーネントファイル間に渡ってのユニークディスクリプタ値のチェックは行いません。

ADAORD REORFILE/REORFASSO/REORDATA 機能

これらの機能は、単一コンポーネントファイルのそれぞれの領域をリオーダします。 ファイルは論理的に変更されないので、これらの機能を拡張ファイルの全コンポーネントファイルに実行する必要はありません。

ADASCR(Adabas Security)機能

個々のコンポーネントファイルのセキュリティプロファイルを定義します。 各コンポーネントファイルのプロテクション、パスワード、セキュリティバイバリュー、およびサイファコードは、拡張ファイルの全コンポーネントファイルに対して同じに定義しなければなりません。

Top of page