バージョン 4.2.5
 —  ユーティリティ  —

DBLOG スナップショット機能

スナップショット機能では、特定の Adabas コマンド、DL/I コール、または SQL ステートメントの詳細情報が提供されます。

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


Adabas コマンドのスナップショット機能

このスナップショット機能を使用すると、[DBLOG Menu]で指定した選択条件に一致する最初の Adabas コマンドの実行後に、プログラム実行が中断されます。 プログラムの中断後すぐに、指定した Adabas コマンドに対して生成された[Snapshot Report](次のサンプル画面を参照)が表示されます。

スナップショット機能を実行すると、自動的にすべての Adabas バッファがログに記録されます。 したがって、スナップショット機能の開始前に、[DBLOG Menu]でオプションバッファはいずれもマークする必要はありません。 デフォルトの[Snapshot Report]には、コントロールブロック(CB)が表示されます。このコントロールブロックは、従来のコントロールブロック(ACB)か、拡張 Adabas コントロールブロック(ACBX)のいずれかとなります。

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

Adabas コマンド用の[Snapshot Report]の呼び出し

Start of instruction set Adabas コマンド用の[Snapshot Report]画面を呼び出すには

  1. [DBLOG Menu]で、Adabas コマンドと追加の条件(必要な場合)を指定し、ファンクションコード「S」を入力します。

    DBLOG snapshot facility started now」というメッセージが表示されます。

  2. [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]でのバッファの表示

デフォルトの[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 バッファの表示」を参照してください。

Top of page

DL/I コール用のスナップショット機能

このスナップショット機能を使用すると、[DBLOG Menu]で指定した選択条件に一致する最初の DL/I コールの[Snapshot Report](次のサンプル画面を参照)が生成されます。 スナップショットによってプログラムフローが中断されることはありません。 スナップショットデータは、ユーザーが適切な DBLOG コマンド(下記参照)を入力した場合にのみ、表示のために Natural DBLOG バッファに保持されます。

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

DL/I コール用の[Snapshot Report]の呼び出し

Start of instruction set DL/I コール用の[Snapshot Report]画面を呼び出すには

  1. [DBLOG Menu]で、DL/I コールと追加の条件(必要な場合)を指定し、ファンクションコード「S」を入力します。

    DBLOG snapshot facility started now」というメッセージが表示されます。

  2. [DBLOG Menu]で指定した DL/I コールが含まれる Natural プログラムを実行します。 ログデータは Natural DBLOG バッファに書き込まれます。

  3. スナップショットデータを表示するには、次のコマンドを入力します。

    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]情報

DL/I コールの[Snapshot Report]画面に、次の情報が表示されます。

キーフィードバックエリア、すべての 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]フィールドの値は異なっています。

Top of page

SQL ステートメント用のスナップショット機能

スナップショット機能を使用すると、[DBLOG Menu]で指定した選択条件に一致する最初の SQL ステートメントの[Snapshot Report](次のサンプル画面を参照)が生成されます。 スナップショットによってプログラムフローが中断されることはありません。

DBLOG トレース機能で表示されるステートメントとは異なり、スナップショットには完全なステートメントが表示されます(13 行に制限)。

スナップショットデータは、ユーザーが適切な DBLOG コマンド(下記参照)を入力した場合にのみ、表示のために Natural DBLOG バッファに保持されます。

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

SQL ステートメント用の[Snapshot Report]の呼び出し

Start of instruction set SQL ステートメント用の[Snapshot Report]画面を呼び出すには

  1. [DBLOG Menu]で、SQL ステートメントと追加の条件(必要な場合)を指定し、ファンクションコード「S」を入力します。

    DBLOG snapshot facility started now」というメッセージが表示されます。

  2. [DBLOG Menu]で指定した SQL ステートメントが含まれる Natural プログラムを実行します。 ログデータは Natural DBLOG バッファに書き込まれます。

  3. スナップショットデータを表示するには、次のコマンドを入力します。

    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]情報

SQL ステートメントの[Snapshot Report]画面に、次の情報が表示されます。

説明
CU カーソル番号。
SN 内部ステートメント番号。
M モード:ダイナミックは D、スタティックは S
Typ データベースタイプ:DB2 または SQL/DS。
R DB2 に Natural ファイルサーバーが使用されている場合にのみ適用されます。

対応するステートメントの前のアスタリスクによって、再選択されたことを示します。それ以外の場合は、列は空のままです。

Natural for DB2』ドキュメントの「ファイルサーバーの概念」も参照してください。

SQLC/W SQLCA の SQLCODE フィールドの SQL リターンコード、または SQLCODE0 の場合は SQLCA の SQLWARN0 フィールドの警告。
Library ログに記録されたステートメントが含まれる Natural プログラムがカタログ化されたライブラリ。
Program ログに記録されたステートメントが含まれる Natural プログラムの名前。
Store Clock Value ログに記録されたステートメントが含まれる Natural プログラムのタイムスタンプ。
Line ログに記録されたステートメントのソースコード行番号。
LV ログに記録されたステートメントが含まれる Natural プログラムのコールレベル。
CID (Hex) ログに記録されたステートメントの 16 進形式のコマンド ID。

Top of page