バージョン 8.1.3

Adabas ダンプフォーマッティングツール(ADAFDP)

このセクションでは、Adabas ダンプフォーマッティングツール ADAFDP の利用について説明します。


ADAFDP 機能

ADAFDP はアドレススペースダンプフォーマッティングモジュールです。 Adabas ニュークリアスが異常終了でシャットダウンするとき、このモジュールが制御を受け取り、エラーの原因分析に役立つ情報をフォーマットして表示します。

ニュークリアスがシャットダウンしているときに、ADAMPM はシャットダウンの原因を判断します。 原因が異常終了の場合、ADAMPM は Adabas SVC への 20 コールの前に ADAFDP モジュールをアドレススペースにロードします。 その後 ADAFDP は制御を受け取り、ニュークリアス情報をフォーマットします。

ADAFDP をロードできない場合、メッセージ ADAF03 がコンソールに表示され、異常終了シャットダウンを継続します。

Top of page

ADAFDP 出力

ADAFDP がフォーマットした情報の大部分は、明白で、説明不要なものですが、 情報のタイプと量はシャットダウン状況に依存するため、このセクションに ADAFDP 出力の概要を示します。

ADAFDP メッセージ

メッセージ 説明
ADAH51/ADAH52

このメッセージは、フォーマットの開始時と終了時にコンソールに表示され、同時に DDPRINT に書き込まれます。

ADAMPM ABEND CODE and PSW

アベンドコードとプログラム状況ワード(PSW)が Adabas ESTAE によって ADAMPM に保存された場合、ADAFDP はこれらのメッセージを表示します。 さらに、ADAFDP はエントリポイントが PSW に最も適合するモジュールを特定し、そのモジュール内のオフセットを計算します。 ADAMPM アベンドコードと PSW がゼロの場合、ADAFDP はこの情報をフォーマットしません。

ADABAS MODULE LOCATIONS

ADAFDP は、アドレススペース内の各 Adabas ニュークリアスモジュールの場所をフォーマットして表示します。

ADDRESS LOCATIONS FOR USER EXITS

ADAFDP は Adabas ニュークリアスでロードされたすべてのユーザー出口の場所をフォーマットして表示します。

ADDRESS LOCATIONS FOR HYPEREXITS

ADAFDP は Adabas ニュークリアスでロードされたすべてのハイパー出口の場所をフォーマットして表示します。 ハイパー出口 10~31 はそれぞれ A~U として表示されます。

ADANC0 STANDARD REGISTER SAVE AREA

レジスタ 0~7/8~F。これらは ADANC0 に保存されます。 これらのレジスタのどれかにストレージ内のニュークリアスプールをポイントするアドレスが含まれているか、ADAFDP は判断します。 含まれている場合、ADAFDP はどのプールかを示し、そのアドレスのストレージをスナップします。 そのレジスタが 12 でユーザースレッドをポイントしている場合、ADAFDP はスレッド全体をスナップします。

ADANC0 ABEND SAVE REGISTERS

レジスタ 0~7/8~F。これらはユーザーアベンドの結果として、ADANC0 に保存されます。 ADAFDP は、これらの保存済みレジスタのいずれかにストレージ内のニュークリアスプールをポイントするアドレスが含まれているかを判断します。 含まれている場合、ADAFDP はどのプールかを示し、その場所のストレージをスナップします。 その保存済みレジスタが 12 でユーザースレッドをポイントしている場合、ADAFDP はスレッド全体をスナップします。

ADAMPM SAVE REGISTERS

レジスタ 0~7/8~F。これらは Adabas ESTAE によって ADAMPM に保存されています。 これらは ADAM99 メッセージで表示されるのレジスタと同じです。 ADAFDP は、これらの保存済みレジスタのいずれかにストレージ内のニュークリアスプールをポイントするアドレスが含まれているかを判断します。 含まれている場合、ADAFDP はどのプールかを示し、その場所のストレージをスナップします。

BEGIN / ENDING ADDRESSES OF POOLS / TABLES

ADAFDP は、Adabas ニュークリアスのプールとテーブルの開始/終了アドレス位置を判断します。 これらのアドレスは、実際のダンプを簡単に検索できるように表示されます。 詳細については、「プールの省略形」を参照してください。

ADABAS THREADS

ADAFDP はスレッド 0、-1、および -2 を含む物理スレッドをフォーマットします。 行数は NT の値に依存します。 異常終了のときアクティブだったスレッド(存在する場合)がポインタ --> でマークされます。

USER THREADS

実行するワークが割り当てられた -2 から NT のスレッドについて、ADAFDP はそのスレッドのステータスに関する情報をフォーマットして表示します。 詳細については、「ユーザースレッド」を参照してください。

FOLLOWING COMMANDS WERE FOUND IN THE CMD QUEUE

ADAFDP はコマンドキューをスキャンし、キューで見つかったコマンドの情報をフォーマットします。 詳細については、「コマンド情報」を参照してください。

POOL INTEGRITY CHECK

ADAFDP は Adabas ニュークリアスアドレススペース内のさまざまなプールの保全性をチェックします。 そのプール内でエラーが検出されると、ADAFDP はエラーになったプールとエラータイプを示します。 さらに、ADAFDP はエラーが検出された位置のストレージをスナップします。

FOLLOWING RABNS/FILES ACTIVE IN BUFFER POOL

ADAFDP は、アクティブまたは更新中だった RABN のバッファプールヘッダーをスキャンします。 詳細については、「RABN 情報」を参照してください。

ADAIOR REGS FOUND AT OFFSET X’080’

このオフセットの ADAIOR に保存されている、レジスタ 0~7/8~F が見つかりました。 これらのレジスタ値のいずれかが Adabas プール内を指していることを ADAFDP が検出した場合、その場所のストレージをスナップします。

ADAIOR REGS FOUND AT OFFSET X’0C0’

このオフセットの ADAIOR に保存されている、レジスタ 0~7/8~F が見つかりました。 これらのレジスタ値のいずれかが Adabas プール内を指していることを ADAFDP が検出した場合、その場所のストレージをスナップします。

ICCB POINTED FROM X’A0’ IN IOR

ICCB アドレスが ADAIOR 内のこのオフセットをポイントしています。

ADAI22 ADAIOR TRACE TABLE

ADAIOR のトレーステーブルのフォーマット。ADAM99 メッセージのフォーマットと同じです。

プールの省略形

プールの省略形 説明
LOG ログエリア
OPR Adabas ニュークリアスオペレータコマンド処理エリア
CQ コマンドキューのアドレス。ADAFDP により後でフォーマットされます。
ICQ 内部コマンドキュー
TT スレッドテーブル
IA1 内部エリア 1
SFT セッションファイルテーブル
FU ファイル使用テーブル
FUP ファイル更新テーブル
IOT 非同期バッファフラッシュのための I/O テーブル
PL2 非同期バッファフラッシュのための PLOG エリア
PET ポストされた ET テーブル
TPT Tpost
TPL Tplatz
UQP ユニークディスクリプタテーブル
UHQ アッパーホールドキュー
HQ ホールドキュー
UUQ アッパーユーザーキュー
UQ ユーザーキュー
FP フォーマットプール
FHF ファイル HILF エレメント
PA プロテクションエリア
TBI ISN テーブル
TBQ シーケンシャル検索テーブル
WK3 WORK パート 3 スペース割り当てテーブル
IA2 内部エリア 2
WK2 WORK パート 2 スペース割り当てテーブル
VOL VOLSER テーブル
WIO WORK ブロック I/O エリア
FST フリースペーステーブルのワークエリア
UT ユーザースレッド
WP ワークプール
AW2 WORK ブロック非同期 I/O エリア
IOP 非同期バッファフラッシュ関連 I/O プール
IU2 バッファプールインポータンスヘッダーアッパー 2
IU1 バッファプールインポータンスヘッダーアッパー 1
BU2 バッファプールアッパーヘッダー 2
BU1 バッファプールアッパーヘッダー 1
BH バッファプールヘッダーのアドレス位置。バッファプールヘッダーの情報は ADAFDP により後でフォーマットされます。
BP バッファプールの物理開始アドレス位置

ユーザースレッド

情報 説明
Thread Number -2~NT
Status スレッドの現在のステータスを示します。
  • *Active*:現在アクティブなスレッド

  • In Use:WORK を割り当てられているスレッド

  • Waiting For I/O:バッファプールにないブロックを待機中

  • Waiting For RABN:使用中の RABN を待機中

  • Waiting For Work-2 Area Block:Waiting For I/O と同様

  • Waiting Workpool Space:バイト数を 10 進数で表示

  • Ready To Run:実行の選択を待機中

CMD 実行されている Adabas コマンド
Response Code レスポンスコード(存在する場合)
File Number このコマンドのファイル番号
ISN このコマンドの内部シーケンス番号
Sub. Rsp サブルーチンレスポンスコード(存在する場合)
Last RABN for I/O コマンド処理によって要求された最後の RABN(10 進)
Type 最後の RABN タイプ(A:ASSO、D:DATA)
CQE Addr このコマンドのコマンドキューエレメントアドレス
User Jobname このコマンドを実行したユーザーのジョブ名
ITID このコマンドを実行したユーザーの内部 Adabas ID
User このコマンドを実行したユーザーのユーザー ID
Unique global ID このコマンドを所有するユーザーの 28 バイトの ID
Buffer Addresses コントロールブロック、フォーマットバッファ、サーチバッファ、バリューバッファ、ISN バッファのバッファアドレス
Buffer Lengths

FL:フォーマットバッファ長
RL:レコードバッファ長
SL:サーチバッファ長
VL:バリューバッファ長
IL:ISN バッファ長

Snap Thread ユーザースレッドの最初の 144 バイトがスナップされます。

コマンド情報

情報 説明
CQE Address この CQE のアドレス位置
F コマンドキューフラグバイト。
  • 1 バイト目:一般的な目的のフラグ

    • X’80’:ユーザーバッファがサービスパーティション、リージョン、アドレススペースにある

    • X’40’:ET コマンドが 12 コール待ち

    • X’20’:16 コール待ち

    • X’10’:16 コールが必要

    • X’08’:アタッチドバッファ

    • X’04’:アタッチドバッファが必要

    • X’02’:X メモリロックあり(MVS のみ)

  • 2 バイト目:選択フラグ

    • X’80’:処理中

    • X’40’:選択待ち

    • X’20’:UQE の検索完了

    • X’10’:UQE が見つかった

    • X’08’:BSS=x’80’ ステータスのときは選択不可

    • X’04’:ET-SYNC 中は選択不可

    • X’02’:スペース待ち

    • X’01’:HQ 内の ISN 待ち

CMD コマンドタイプ
ファイル番号 このコマンドのファイル番号
ジョブ名 ユーザーのジョブ名
Addr User 検索して見つかった場合、ユーザーの UQE の UQE アドレス
Addr User ASCB ユーザーの ASCB のアドレス位置
Addr ECB ユーザーの ECB のアドレス位置(ユーザーのアドレススペース内)
Addr User UB ユーザーの UB のアドレス(ユーザーのアドレススペース内)
Addr User PAL ユーザーのパラメータアドレスリストのアドレス位置
CQE ACA CQE の ACA フィールド
CQE RQST CQE の RQST フィールド
Abuf/Pal CMD に対するアタッチドバッファ/パラメータアドレスリスト(PAL)のアドレス
Comm Id このコマンドに対する 28 バイトのユニークなユーザー ID

RABN 情報

情報 説明
RABN Number RABN 番号(10進)
タイプ ブロックタイプ(A:ASSO、D:DATA)
Flag BP ヘッダーエレメントフラグバイト:
  • AKZ X’40’:アクティブインジケータ

  • UKZ X’20’:更新インジケータ

  • RKZ X’10’:読み込みインジケータ

  • XKZ X’04’:アクセスはブロック待ち

  • YKZ X’02’:更新はブロック待ち

  • SKZ X’01’:書き込みインジケータ

ファイル このブロックの所有者のファイル番号
Address ストレージ内のブロックのアドレス位置

Top of page