スナップショット機能では、特定の Adabas コマンド、DL/I コール、または SQL ステートメントの詳細情報が提供されます。
以下のトピックについて説明します。
このスナップショット機能を使用すると、[DBLOG Menu]で指定した選択条件に一致する最初の Adabas コマンドの実行後に、プログラム実行が中断されます。 プログラムの中断後すぐに、指定した Adabas コマンドに対して生成された[Snapshot Report](次のサンプル画面を参照)が表示されます。
スナップショット機能を実行すると、自動的にすべての Adabas バッファがログに記録されます。 したがって、スナップショット機能の開始前に、[DBLOG Menu]でオプションバッファはいずれもマークする必要はありません。 デフォルトの[Snapshot Report]には、コントロールブロック(CB)が表示されます。このコントロールブロックは、従来のコントロールブロック(ACB)か、拡張 Adabas コントロールブロック(ACBX)のいずれかとなります。
以下のトピックについて説明します。
Adabas コマンド用の[Snapshot Report]画面を呼び出すには
[DBLOG Menu]で、Adabas コマンドと追加の条件(必要な場合)を指定し、ファンクションコード「S
」を入力します。
「DBLOG snapshot facility started now
」というメッセージが表示されます。
[DBLOG Menu]で指定した Adabas コマンドが含まれる Natural プログラムを実行します。
プログラムの実行が停止され、下記の例のような[Snapshot Report]画面が表示されます。
16:36:39 ***** NATURAL TEST UTILITIES ***** 2006-12-12 - Snapshot Report - Command Code : L3 Command ID : ??? 00200101 File Number : 013C Response Code: 0 ISN : 1300 ISN Low Limit: 00000000 ISN Quantity : 0 FB Length : 0009 RB Length : 0014 SB Length : 0008 VB Length : 0014 IB Length : 0000 Com. Option 1: Com. Option 2: V Additions 1 : AE]? Additions 2 : ? ? Additions 3 : Additions 4 : Global FID : 0000000000000000 Command Time : 00000019 Pgm: SAGTEST Lin: 0020 Control Block 0000 * 30D5D3F3 00200101 013C0000 00000514 * ?NL3 ????? ?? * 0000 0010 * 00000000 00000000 00090014 00080014 * ? ? ? ? * 0010 0020 * 000000E5 C1C5BBCA 40404040 00120014 * VAE]? ? ? * 0020 0030 * 00000000 00000000 00000000 00000000 * * 0030 0040 * 00000000 00000000 00000019 00000000 * ? * 0040 0050 * 00000000 00000000 00000000 00000000 * * 0050 0060 * 00000000 00000000 00000000 00000000 * * 0060 0070 * 00000000 00000000 00000000 00000000 * * 0070 Command ===> CB________________________________________________________________ Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Exit CB FB RB - + SB VB IB Canc |
デフォルトの[Snapshot Report]画面には、コントロールブロック(CB)が表示されます。 レポートに別の Adabas バッファを表示する場合、またはレポートをスクロールする場合は、適切な PF キーを選択するか、このセクションで説明している同等のダイレクトコマンドをコマンド行で入力します。
PF キーが使用可能かどうかは、現在表示されているバッファによって決まります。 バッファが画面に収まらない場合や、バッファに複数のフォーマットバッファ/レコードバッファが含まれている場合は、バッファのスクロールに必要な PF キーが画面に表示されます。
PF キー | ダイレクトコマンド | バッファ |
---|---|---|
PF4 | CB |
コントロールブロックを表示します。 これがデフォルトです。 |
PF5 | FB |
フォーマットバッファを表示します。 |
PF6 | RB
または -- |
レコードバッファ(RB )を表示するか、長いバッファの先頭にまでスクロールします(-- )。
|
PF7 | - |
長いバッファを 1 ページ上方にスクロールします。 |
PF8 | + |
長いバッファを 1 ページ下方にスクロールします。 |
PF9 | SB
または ++ |
サーチバッファ(SB )を表示するか、長いバッファの末尾までスクロールします(++ )。
|
PF10 | VB
または < |
バリューバッファ(VB )を表示します。 複数のフォーマットバッファ/レコードバッファがある場合、前の(< )レコードバッファ/フォーマットバッファを表示します。
|
PF11 | IB
または > |
ISN バッファ(IB )を表示します。 複数のフォーマットバッファ/レコードバッファがある場合、次の(> )レコードバッファ/フォーマットバッファを表示します。
|
コントロールブロックまたはバッファ内に表示されるフィールドの詳細については、「Adabas バッファの表示」を参照してください。
このスナップショット機能を使用すると、[DBLOG Menu]で指定した選択条件に一致する最初の DL/I コールの[Snapshot Report](次のサンプル画面を参照)が生成されます。 スナップショットによってプログラムフローが中断されることはありません。 スナップショットデータは、ユーザーが適切な DBLOG
コマンド(下記参照)を入力した場合にのみ、表示のために Natural DBLOG バッファに保持されます。
以下のトピックについて説明します。
DL/I コール用の[Snapshot Report]画面を呼び出すには
[DBLOG Menu]で、DL/I コールと追加の条件(必要な場合)を指定し、ファンクションコード「S
」を入力します。
「DBLOG snapshot facility started now
」というメッセージが表示されます。
[DBLOG Menu]で指定した DL/I コールが含まれる Natural プログラムを実行します。 ログデータは Natural DBLOG バッファに書き込まれます。
スナップショットデータを表示するには、次のコマンドを入力します。
TEST DBLOG D
または:
DBLOG メニューで、ファンクションコード「E
」を入力します。
下記の例のような DL/I コールの[Snapshot Report]画面が表示されます。
16:33:27 ***** NATURAL DBA Utility ***** 2006-12-12 User SAG - Snapshot Report - Library SAG DL/I Call ......... : GHNP Pgm: SAGTEST Line: 0110 PSB Name .......... : PBNDL01 PCB Number ........ : 1 out of 3 Contents of this PCB Contents of NDB/NSB Database Name ..... : DNDL01 DBD is physical Segment Level ..... : 2 Segment Level .. : 2 Statuscode ........ : BLANK Processing Options : A Segment Name ...... : OFFERING DBID/FNR ....... : 246 12 Min/Max Length . : 41 41 Length of KFBA .... : 9 Number of SENSEGs . : 10 <WARNING> Number of SENSEGs: 5 Number of SSAs .... : 2 IOA: Char : ?010791DARMSTADT Zone : 02FFFFFFCCDDEECCE44444444444444444444444400000000000000 Digit: 0901079141942314300000000000000000000000000000000000000 KFBA: Char : 004010791 Zone : FFFFFFFFF0000000000000000000000000000000000000000000000 Digit: 0040107910000000000000000000000000000000000000000000000 MORE SSA 1 : Char : COURSE *- (COURSEN =004) Zone : CDEDEC445644CDEDECD447FFF500000000000000000000000000000 Digit: 36492500C00D364925500E004D00000000000000000000000000000 SSA 2 : Char : OFFERING*F- Zone : DCCCDCDC5C640000000000000000000000000000000000000000000 Digit: 66659957C6000000000000000000000000000000000000000000000 |
DL/I コールの[Snapshot Report]画面に、次の情報が表示されます。
PSB(プログラム指定ブロック)の名前。
PCB(プログラム通信ブロック)の番号。
PCB マスク。次の要素で構成されます。
データベース名を含む DBD(データベース記述)
セグメントレベル番号
ステータスコード
処理オプション
セグメント名
KFBA(キーフィードバックエリア)の長さ
SENSG(センシティブセグメント)の数
KFBA:
キーフィードバックエリア
SSA(セグメント検索引数)の数
すべての SSA。
I/O エリア。
キーフィードバックエリア、すべての SSA(最大 15 の SSA が可能)、および I/O エリアの最初の 120 バイトが、10 進数形式と 16 進形式の両方で表示されます。
PCB の DBD 名は、Natural FDIC システムファイルから対応する NDB(Natural で DBD に相当するもの)を読み取るために使用されます。 この NDB には、PCB で名前が指定されているセグメントが配置され、その最小/最大の長さとセグメントレベル番号が表示されます。 セグメントレベル番号は、PCB での番号と一致している必要があります。 この方法で、NDB と DL/I DBD の矛盾を検出することが可能です。
PSB 名は、Natural FDIC システムファイルから対応する NSB(Natural で PSB に相当するもの)を読み取るために使用されます。 この NSB から、センシティブセグメントの数が表示されます。 この数は、PCB での数と一致している必要があります。 この方法で、Natural NSB と DL/I PSB の矛盾を検出することが可能です。
スナップショット機能を使用すると、DL/I DBD/PSB と Natural NDB/NSB で [Level Number]フィールドおよび[Number of SENSEGs]フィールドに同じ値が含まれているかどうかがチェックされます。 ただし、同じ値であれば DL/I DBD/PSB と Natural NDB/NSB が完全に整合しているとは限りません。
上記の例では、DL/I PSBGEN プロシージャによって PSB が変更された後に Natural NATPSB プロシージャが実行されなかったため、[Number of SENSEGs]フィールドの値は異なっています。
スナップショット機能を使用すると、[DBLOG Menu]で指定した選択条件に一致する最初の SQL ステートメントの[Snapshot Report](次のサンプル画面を参照)が生成されます。 スナップショットによってプログラムフローが中断されることはありません。
DBLOG トレース機能で表示されるステートメントとは異なり、スナップショットには完全なステートメントが表示されます(13 行に制限)。
スナップショットデータは、ユーザーが適切な DBLOG
コマンド(下記参照)を入力した場合にのみ、表示のために Natural DBLOG バッファに保持されます。
以下のトピックについて説明します。
SQL ステートメント用の[Snapshot Report]画面を呼び出すには
[DBLOG Menu]で、SQL ステートメントと追加の条件(必要な場合)を指定し、ファンクションコード「S
」を入力します。
「DBLOG snapshot facility started now
」というメッセージが表示されます。
[DBLOG Menu]で指定した SQL ステートメントが含まれる Natural プログラムを実行します。 ログデータは Natural DBLOG バッファに書き込まれます。
スナップショットデータを表示するには、次のコマンドを入力します。
TEST DBLOG Q
または:
DBLOG メニューで、ファンクションコード「E
」を入力します。
下記の例のような SQL ステートメントの[Snapshot Report]画面が表示されます。
10:59:28 ***** NATURAL Test Utilities ***** 2006-12-12 User SAG - Snapshot Report - Library SAG CU SN M Typ R SQLC/W Library Program Store Clock Value Line LV CID(Hex) 01 01 D DB2 SAG SAGTEST 2002/04/03 14:23:06 0150 01 01500101 SQL Statement SELECT EMPNO,FIRSTNME,MIDINIT,LASTNAME,EDLEVEL,SALARY FROM DSN8510.EMP WHERE EM PNO > '000300' FOR UPDATE OF EDLEVEL Command ===> Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Print Exit Canc |
SQL ステートメントの[Snapshot Report]画面に、次の情報が表示されます。
列 | 説明 |
---|---|
CU | カーソル番号。 |
SN | 内部ステートメント番号。 |
M | モード:ダイナミックは D 、スタティックは S 。
|
Typ | データベースタイプ:DB2 または SQL/DS。 |
R | DB2 に Natural ファイルサーバーが使用されている場合にのみ適用されます。
対応するステートメントの前のアスタリスクによって、再選択されたことを示します。それ以外の場合は、列は空のままです。 『Natural for DB2』ドキュメントの「ファイルサーバーの概念」も参照してください。 |
SQLC/W | SQLCA の SQLCODE フィールドの SQL リターンコード、または SQLCODE が 0 の場合は SQLCA の SQLWARN0 フィールドの警告。
|
Library | ログに記録されたステートメントが含まれる Natural プログラムがカタログ化されたライブラリ。 |
Program | ログに記録されたステートメントが含まれる Natural プログラムの名前。 |
Store Clock Value | ログに記録されたステートメントが含まれる Natural プログラムのタイムスタンプ。 |
Line | ログに記録されたステートメントのソースコード行番号。 |
LV | ログに記録されたステートメントが含まれる Natural プログラムのコールレベル。 |
CID (Hex) | ログに記録されたステートメントの 16 進形式のコマンド ID。 |