ADAVFY(データベースの整合性チェック)

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

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


機能概要

ADAVFY ユーティリティは、データベースの整合性チェックを行います。ロードされたファイルの各ファイルコントロールブロック(FCB)と各フィールド定義テーブル(FDT)とともにジェネラルコントロールブロック(GCB)が検証されます。インデックス構造およびデータストレージも検証されます。また、消失した RABN も検出されます。

アクティブなニュークリアスに対して ADAVFY を実行するか、またはデータベース更新を実行するユーティリティと並行して実行すると、エラーがレポートされます。これは、ユーティリティが終了するまでの間に更新が行われる可能性があり、その更新のうちの一部がニュークリアスバッファプール内にのみ反映されるためです。ADAVFY を使用する場合、Adabas ニュークリアスがアクティブである必要はありません。ADAVFY はデータベースをオフラインで処理します。

一般に、ADAVFY は、検出した整合性エラーを表示するだけで、データベースは修正しません。ただし、ADAVFY は、FCB および FDT の一部のエラーを検出したときに、オフラインモードでこれらを修正します。例えば、ファイル内のレコード数に関する FCB のレコードカウンタの値が無効な場合のエラーなどです。

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

処理フロー

graphics/adavfy.png

データセット 環境
変数/
論理名
記憶
媒体
追加情報
アソシエータ ASSOx ディスク、テープ  
データストレージ DATAx ディスク、テープ  
コントロールステートメント stdin/
SYS$INPUT
  ユーティリティマニュアル
ADAVFY メッセージ stdout/
SYS$OUTPUT
  メッセージおよびコード
WORK WORK1 ディスク、テープ  

チェックポイント

このユーティリティはチェックポイントを書き込みません。

制御パラメータ

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

     AC

     

     DATA

M    DBID = number

D    ERRORS = number

     FCB

     FIELD

D    FILES = { * | (number [-number][,number[-number]]...)  }

     FROM = number - number

     INDEX

D    LEVEL = number

     LOST

     RECORD

パラメータ AC、DATA、FCB、FIELD、INDEX、LOST、および RECORD は、対応する検証機能を直ちに呼び出します。残りのパラメータは、上記パラメータの前に指定されている場合にのみ評価されます。

AC

AC

この機能は、FILES パラメータで指定したファイルを対象に、アドレスコンバータからデータストレージまでの間を検証し、指定データストレージの中にレコードがあるかどうかをチェックします(DATA も参照)。

DATA

DATA

この機能は、指定ファイル番号を対象にデータストレージを検証します。この機能は、FILES パラメータで指定したファイルを対象に、アドレスコンバータからデータストレージの間、およびデータストレージからアドレスコンバータの間を検証します。ADAVFY DATA 機能は、次のエラーがオフラインモードで検出された場合に、エラーを修正します。FCB には、ファイル内のレコード数のレコードカウンタが含まれていますが、このカウンタの値が正しくない場合は、値が修正されます。

DBID

DBID = number

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

ERRORS

ERRORS = number

このパラメータは、1 ファイルの検証が終了するまでに発生したエラーのうち、何件までをエラーとしてレポートするのかを指定します。最小値は 1、デフォルト値は 20 です。

FCB

FCB

この機能は、FILES パラメータで指定したファイルを対象に、ファイルコントロールブロックとフィールド定義テーブルを検証します(INDEX も参照)。

フィールド

FIELD

この機能は、データストレージを検証します。指定ファイルのレコード構造をチェックし、アンパック形式、パック形式、および浮動小数点の値の内容を検証します。

FILES

FILES = { * | (number[-number][,number[-number]]...)  }

このパラメータは、検証対象となるファイルを指定するものです。アスタリスク(*)を指定すると、検証対象が全ファイルになります。LOST 機能を除くすべての機能に FILES パラメータは必要です。

デフォルトは、ファイルの指定なしです。

FROM

FROM = number - number

指定する値は、各種構造を出力するために LEVEL オプションと組み合わせて使用されます。詳細については、このセクションの LEVEL パラメータを参照してください。

INDEX

INDEX

この機能は、レベル 1(ノーマルインデックス)に対するインデックスの完全性を検証します。これには、FCB および FDT の検証も含まれます。

ADAVFY では、used(使用済み)、free(空き)、reusable(再利用可能)、および lost(損失済み)の NI(ノーマルインデックス、インデックスレベル 1)、MI(メインインデックス、インデックスレベル 2)、および UI(アッパーインデックス、インデックスレベル 3 以上)ブロックの数もカウントされます。

例:

  %ADAVFY-I-INDSTR, Index verification                              
  %ADAVFY-I-INDCNT, NI: used: 210, free: 1773, reusage: 17, lost: 0 
  %ADAVFY-I-INDCNT, UI: used: 1, free: 87, reusage: 2, lost: 1      
  %ADAVFY-I-INDCNT, MI: used: 9, free: 87, reusage: 2, lost: 1      
  %ADAVFY-I-INDEND, Index verification completed                    

注意:

  1. used(使用済み)インデックスブロックは、現在使用されているインデックスブロックです。
  2. free(空き)インデックスブロックは、まだ使用されていないインデックスブロックです。
  3. reusable(再利用可能)インデックスブロックは、すでに使用されていますが、再び空になり、再利用キューに含まれているインデックスブロックです。これらのブロックは、再度使用できます。
  4. lost(損失済み)インデックスブロックは、現在使用されておらず、再利用キューにないインデックスブロックです。再利用できません。lost(損失済み)ブロックの値 1 は正常です。これは ADAINV REINVERT を実行した後に発生する可能性があります。
  5. free(空き)、reusable(再利用可能)、lost(損失済み)の MI および UI ブロックは、同じ論理エクステントから取得されるので、ブロックの数は同じです。表示される数は MI と UI を合わせた数です。MI ブロック用にスペースを追加すると、UI ブロックに使用できるスペースの数が減少することに注意してください。

LEVEL

LEVEL = number

このパラメータは、ADAVFY が出力する、内部構造に関する情報量を指定するものです。このパラメータを指定しても、実行する検証の内容には影響はありません。このパラメータを使用する場合、該当する機能の前に指定する必要があります。

デフォルト値は、有効な最高インデックスレベルに 1 を加えた値です。

INDEX 機能の指定時

レベル n レベル n 以上に関する情報を出力
レベル 0 インデックスブロックの詳細な構造を出力

FROM オプションは、インデックス RABN の範囲指定に使用します。指定した RABN のみがダンプされます。

AC/DATA/RECORD/FIELD 機能の指定時

レベル 2 処理中の RABN を出力
レベル 1 レコード構造(RECORD または FIELD を使用)または各 ISN の参照先(DATA または AC を使用)を出力
レベル 0 レコードのフィールドをダンプ

LOST 機能の指定時

レベル 0 データベースの物理構造をダンプ

LOST

LOST

このオプションを指定すると、ADAVFY は失われた RABN をデータベース内で探索します。失われた RABN が見つかった場合、ADADBM の RECOVER パラメータを使用してそのスペースを回復することができます。

RECORD

RECORD

この機能はデータストレージを検証し、指定したファイルの各レコードの構造をチェックします(FIELD も参照)。

例 1

adavfy: dbid=3,file=*,data,field,index

機能 DATA、FIELD、および INDEX を使用して、データベース 3 のすべてのファイルを検証します。この機能の組み合わせは、検証のレベルが最も高いものです。

例 2

adavfy: dbid=3, file=7, level=1, field

データベース 3 のファイル 7 が検証されます。アンパック形式、パック形式、および浮動小数点のフィールドの内容とデータストレージ内のレコード構造が検証されます。ADAVFY は処理済みの RABN のリストと、処理対象のレコードごとに対応する RABN のオフセット、長さおよび ISN を出力します。