DISPLAY THREAD コマンドを使用したスレッドのモニター

DISPLAY THREAD コマンド出力は、ローカルで処理されているスレッド、およびスレッドによって実行された要求、ストアード・プロシージャー、またはユーザー定義関数、および並列タスクを分散するためのスレッドに関する情報を表示します。 また、ARCHIVE LOG コマンドの結果としてシステム静止が有効になっていることを示すこともできます。

汎用プログラミングインターフェース情報の開始。

DISPLAY THREAD コマンドを使用すると、以下の 1 つ以上のものを使用して、表示する情報のタイプを選択できます。

  • アクティブ・スレッド、未確定スレッド、アボート延期スレッド、またはプールされたスレッド
  • 接続名が指定されたアドレス・スペースと関連した関連スレッド
  • 関連スレッド
  • 分散スレッド
  • 特定のリモート・ロケーションと関連のある分散スレッド
  • リモート・ロケーションとの接続に関する詳細情報
  • 特定の作業論理単位 ID (LUWID)

DISPLAY THREAD コマンドが戻す情報は、動的状況を反映しています。 情報が表示されるまでに、状況が変化している場合があります。 さらに、その情報は 1 つのアドレス・スペースでのみ整合性があり、 すべてのアドレス・スペースでは必ずしも整合性はありません。

TYPE、LOCATION、DETAIL、および LUWID キーワードを使用するには、SYSOPR またはそれ以上の権限が必要です。

この出力の解釈方法の詳細については、個々の接続を説明するトピック、およびメッセージ DSNV408I (メッセージ DSNV401I の一部) の説明を参照してください。

未確定スレッドに関する情報の表示

関連未確定スレッドおよびデータベース・アクセス未確定スレッドに関する情報を検索するには、DISPLAY THREAD TYPE(INDOUBT) コマンドを使用します。 このコマンドは、 Db2 が参加者、調整者、またはその両方であるスレッドに関する情報を提供します。

このタスクについて

汎用プログラミングインターフェース情報の開始。TYPE(INDOUBT)オプションは、まだ疑義の解決が必要なシステムを特定し、疑義スレッドを回復するために必要なLUWIDを提供します。 コミットのフェーズ 1 を完了して、まだコーディネーターと接続状態になっているスレッドは、準備済み状態であり、DISPLAY THREAD アクティブ・レポートの一部として表示されます。 準備済みスレッドがそのコーディネーターとの接続を失った場合、 このスレッドは未確定 状態に入り、 その時点で参加プログラムとの接続を終了します。 Db2 が終了した時点で準備中または疑わしい状態にあるスレッドは、 Db2 が再起動した後も疑わしい状態のままです。 しかし、参加システムがコーディネータからのコミットまたはロールバックの決定を待機しており、接続がまだアクティブである場合、 Db2 はスレッドをアクティブとみなします。 汎用プログラミングインターフェース情報の終了。

スレッドが参加プログラムで未確定の場合、前述の説明のように、 コーディネーターで DISPLAY THREAD コマンドを出すことによって、 コミットまたはアボートの決定が コーディネーターで行われたかどうかを判別することができます。 未確定スレッドが、片方のシステムには表示され、もう一方のシステムには表示されない場合は、 後者のシステムは既にそのスレッドをバックアウトしています。この場合、 最初のシステムでも同様にバックアウトする必要があります。

汎用プログラミングインターフェース情報の開始。
IP アドレスおよび再同期ポート番号を使用した未確定スレッドのリセット
例えば、TYPE (INDOUBT) を指定して DISPLAY THREAD コマンドを発行したときに、出力に以下の DSNV406I メッセージが含まれているとします。
DSNV406I -DB2C INDOUBT THREADS -                 
COORDINATOR          STATUS      RESET URID                 AUTHID
FFFF:10.97.217.50.   COMMITTED-H YES   0000000056765A422C57 PAULMCW
.1332       

メッセージから、IPアドレス( FFFF:10.97.217.50 )とコーディネーターの再同期ポート番号(1332)を指定して、疑わしい作業単位をリセットする次のコマンドを発行できます

RESET INDOUBT IPADDR(::FFFF:10.97.217.50..1332)
LUWID またはトークンによる未確定スレッドのリセット
2 つの未確定スレッドに関する情報を消去する必要があるとします。 最初のものは DB2NET.LUNSITE0.A11A7D7B2057.0002 のLUWIDであり、2番目のものは442のトークンです。 情報を削除するには、以下のコマンドを使用します
-RESET INDOUBT LUWID(DB2NET.LUNSITE0.A11A7D7B2057.0002,442)
汎用プログラミングインターフェース情報の終了。

ロケーション別の情報の表示

DISPLAY THREAD コマンドを使用して、特定の位置に関するスレッド情報を表示することができます。

プロシージャー

汎用プログラミングインターフェース情報の開始。場所別に情報を表示するには:

LOCATION オプションとその後にロケーション名のリストを指定した DISPLAY THREAD コマンドを発行する。

例えば、THREAD オプションと LOCATION オプションの後にアスタリスク (*) を指定できます。

-DISPLAY THREAD(*) LOCATION(*) DETAIL

このコマンドを発行すると、 Db2 は次のようなメッセージを返します

DSNV401I - DISPLAY THREAD REPORT FOLLOWS -
DSNV402I - ACTIVE THREADS -
   NAME     ST 1 A 2    REQ ID        AUTHID   PLAN     ASID TOKEN
   SERVER   RA   *     2923 DB2BP     ADMF001  DISTSERV 0036    20 3 
    V437-WORKSTATION=ARRAKIS, USERID=ADMF001,
          APPLICATION NAME=DB2BP
    V436-PGM=NULLID.SQLC27A4, SEC=201, STMNT=210
    V445-09707265.01BE.889C28200037=203 ACCESSING DATA FOR
     (  1)2002:91E:610:1::5 4 
    V447-INDEX SESSID           A ST TIME
    V448-(  1) 446:1300 5       W S2 9802812045091
DISPLAY ACTIVE REPORT COMPLETE
DSN9022I - DSNVDT '-DISPLAY THREAD' NORMAL COMPLETION
説明
1
ST (状況) 欄には、 ローカル・サイトの接続状況を示す文字が含まれています。 TR は、 分散関連スレッドが確立されていることを示しています。 RA は、分散スレッドが確立されて受信モードに なっていることを示します。 RD は、分散スレッドが別のロケーションに代わってリモート・アクセスを 行い (R)、DCE サービスに関連する操作を実行している (D) ことを示します。 現在、 Db2 は、リモートユーザーの認証にDCEサービスのオプション使用をサポートしています。
2
A(アクティブ)列には、スレッドが Db2 内でアクティブであることを示すアスタリスクが付いています。 Db2 内でスレッドが非アクティブ(アプリケーション内でアクティブまたは待機中)の場合、空白になります。
3
この LUWID は、すべての接続システムの間で固有です。 このスレッドには、 トークン 20 が戻されています (このトークンは、 表示出力内の 2 箇所に示されています)。
4
これはパートナーのロケーションです。 RDBNAME が不明の場合は、ロケーション列には SNA LUNAME または IP アドレスが含まれて います。
5
接続にTCP/IPが使用されている場合、SESSID列には「 local : remote 」が含まれます。local Db2 TCP/IP ポート番号とリモートは、 パートナーの TCP/IP ポート番号を指定します。

汎用プログラミングインターフェース情報の終了。

Db2 以外のロケーションの情報の表示

Db2 は、Db2 以外のロケーションからロケーション名を受け取らないため、情報を表示するロケーションの LUNAME または IP アドレスを入力する必要があります。

このタスクについて

LUNAME は、より小記号 (<) とより大記号 (>) で囲まれています。 IP アドレスは、ドット 10 進形式またはコロン 16 進形式でもかまいません。

Db2 は、Db2 以外のリクエスターに関する情報を表示するメッセージで、以下の形式のいずれかを使用します。

  • LUNAME 表記
  • ドット 10 進形式
  • コロン 16 進形式

プロシージャー

汎用プログラミングインターフェース情報の開始。Db2 以外のロケーションに関する情報を表示するには、次のようにします。

LOCATION オプションを使用して、DISPLAY THREAD コマンドを発行する。

例えば、LUSFOS2 の LUNAME を持つ非 Db2 データベース管理システム (DBMS) に関する情報を表示する場合は、次のコマンドを入力します。

-DISPLAY THREAD (*) LOCATION (<LUSFOS2>)

汎用プログラミングインターフェース情報の終了。

スレッドに関する会話レベルの情報の表示

アクティブ・スレッドの分散情報を表示するときに会話アクティビティーに関する情報を表示するには、LOCATION オプションと DETAIL オプションを指定した DISPLAY THREAD コマンド使用します。

このタスクについて

DETAIL オプションは、未確定スレッドの表示には無効です。

プロシージャー

汎用プログラミングインターフェース情報の開始。スレッドに関する会話レベルの情報を表示するには:

LOCATION および DETAIL オプションを使用して、DISPLAY THREAD コマンドを発行する。
-DISPLAY THREAD(*) LOCATION(*) DETAIL

Db2 次のメッセージを返します。これは、ローカルサイトアプリケーションが で会話が割り当てられるのを待っていること、およびDRDAクライアントがTCP/IPを使用してアクセスする サーバーを示しています。 Db2 Db2

DSNV401I - DISPLAY THREAD REPORT FOLLOWS -
DSNV402I - ACTIVE THREADS -
   NAME     ST A   REQ ID           AUTHID   PLAN     ASID   TOKEN
   TSO      TR *     3 SYSADM       SYSADM   DSNESPRR 002E       2
    V436-PGM=DSNESPRR.DSNESM68, SEC=1, STMNT=116
    V444-DB2NET.LUND0.A238216C2FAE=2 ACCESSING DATA AT
     (  1)USIBMSTODB22-LUND1
    V447--INDEX SESSID           A ST TIME
    V448--(  1) 0000000000000000 N 1  A1 2  9015816504776
   TSO      RA *    11 SYSADM       SYSADM   DSNESPRR 001A      15
    V445-STLDRIV.SSLU.A23555366A29=15 ACCESSING DATA FOR
     (  1)123.34.101.98
    V447--INDEX SESSID           A ST TIME
    V448--(  1) 446:3171  3        S2    9015611253108
DISPLAY ACTIVE REPORT COMPLETE
DSN9022I - DSNVDT '-DISPLAY THREAD' NORMAL COMPLETION
説明
1
この行の情報はメッセージ DSNV447I の一部です。 サーバー用の会話A(アクティブ)列は、 Db2 スレッドがハングアップしているかどうか、また処理がネットワークスタック(VTAM®またはTCP/IP)または Db2 で待機しているかどうかを判断するのに役立ちます。 Wの値は、スレッドが Db2 で中断され、イベントが完了したという通知をネットワークから待っていることを示します。 値 N は、会話の制御権がネットワーク・スタックにあることを示します。
2
この行の情報はメッセージ DSNV448I の一部です。 配信サイトの会話ST(ステータス)列のAは、会話が Db2 で割り当てられていることを示します。 2はDRDAアクセスを示します。 状況列に R が示されている場合、会話が要求または応答を受信中であるか、受信するのを待っていることを示します。 サーバーの場合、この列が S になっていると、アプリケーションが要求または応答を送信中であるか、送信する準備中であることを示します。
3
この行の情報はメッセージ DSNV448I の一部です。 SESSID 列は、変更されています。 接続に VTAM を使用している場合、SESSID 列には VTAM セッション識別子が含まれます。 接続にTCP/IPが使用されている場合、SESSID列には「 local : remote 」が含まれます。local Db2 TCP/IP ポート番号とリモートは、 パートナーの TCP/IP ポート番号を指定します。
汎用プログラミングインターフェース情報の終了。

LUWID によるスレッドの表示

作業論理単位 ID ごとにスレッドを表示するには、オプションの LUWID キーワード (DDF が始動している場合のみ有効) を使用します。 LUWID は、スレッドを作成したサイトによって、そのスレッドに割り当てられます。

このタスクについて

汎用プログラミングインターフェース情報の開始。LOCATION 名にアスタリスクを使用できるのと同様に、LUWID キーワードにアスタリスク (*) を使用することもできます。 例えば、コマンド DISPLAY THREAD TYPE(INDOUBT) LUWID(NET1.*) を発行して、LUWID のネットワーク名が NET1 であるすべての未確定スレッドを表示します。 DISPLAY THREAD TYPE(INDOUBT) LUWID(IBM.NEW*) コマンドは、LUWIDが「 IBM® 」というネットワーク名で、LUNAMEが「NEW」で始まるすべての疑わしいスレッドを表示します

DISPLAY THREAD LUWID コマンドに DETAIL キーワードを指定すると、表示されている各スレッドに接続されているすべての会話の状態が表示され、会話が DRDA アクセスを使用しているかどうかが示されます。

プロシージャー

LUWID によるスレッドを表示するには、次の手順で行います。

次のオプションを使用して、DISPLAY THREAD コマンドを発行する。
-DISPLAY THREAD(*) LUWID (luwid) DETAIL

Db2 は以下のメッセージを戻します。

-DISPLAY THREAD(*) LUWID (luwid) DET
  DSNV401I - DISPLAY THREAD REPORT FOLLOWS -
  DSNV402I - ACTIVE THREADS -
  NAME     ST A   REQ ID           AUTHID   PLAN     ASID   TOKEN
  BATCH    TR       5 TC3923S0     SYSADM   TC392    000D       2
   V436-PGM=*.TC3923S0, SEC=1, STMNT=116
   V444-DB2NET.LUNSITE0.A11A7D7B2057=2  1 ACCESSING DATA AT
    (  1)USIBMSTODB22-LUNSITE1
   V447--INDEX SESSID           A ST TIME
   V448--(  1) 00C3F4228C5A244C   S2 2  8929612225354
  DISPLAY ACTIVE REPORT COMPLETE
  DSN9022I - DSNVDT '-DISPLAY THREAD' NORMAL COMPLETION
説明
1
上記の表示出力では、LUWID に 2 のトークンが割り当てられていることが分かります。 LUWID の長いバージョンの代わりにこのトークンを使用して、指定されたスレッドをキャンセルまたは表示することができます。 以下に例を示します。
-DISPLAY THREAD(*) LUWID(2) DET
2
さらに、サービス側のサイトの状況列に値 S2 が含まれています。 Sは、このスレッドがリクエストまたはレスポンスを送信できることを意味し、2は、これがDRDAアクセス会話であることを意味します。

汎用プログラミングインターフェース情報の終了。

タイプ別のスレッドの表示

タイプ別のスレッドを表示するには、DISPLAY THREAD コマンドを使用します。 例えば、ストアード・プロシージャーまたはユーザー定義関数を実行しているアクティブ・スレッドのみを表示できます。

プロシージャー

汎用プログラミングインターフェース情報の開始。スレッドの種類別に表示するには:

TYPE キーワードを使用して、DISPLAY THREAD コマンドを発行する。
以下に例を示します。
-DISPLAY THREAD(*) TYPE(PROC)
汎用プログラミングインターフェース情報の終了。

トランザクションのすべての DBMS のモニター

トランザクションに関与している要求側とサービス側のすべてのデータベース管理システム (DBMS) をモニターするには、DISPLAY THREAD コマンドの DETAIL キーワードを使用します。

このタスクについて

汎用プログラミングインターフェース情報の開始。 例えば、 で実行されているアプリケーションを監視し、 から情報を要求します。 は、要求された情報を提供するために、 と という2次サーバーと会話を確立する必要があります。 USIBMSTODB21 USIBMSTODB22 USIBMSTODB23 USIBMSTODB24 次の図に、この例を示します。 この例では、ADAはDRDAアクセスを指し、SDAは Db2 プライベートプロトコルアクセスを指します。 USIBMSTODB21 は、USIBMSTODB22 から見てアップストリームであると見なされます。 USIBMSTODB22 は、USIBMSTODB23 から見てアップストリームであると見なされます。 反対に、USIBMSTODB23 と USIBMSTODB22 は、それぞれ USIBMSTODB22 と USIBMSTODB21 からはダウンストリームにあると見なされます。

図1: 4 つのサイトを含むDb2トランザクションの例
図の説明の開始 トランザクションの関係。 図の説明の終わり。
USIBMSTODB21 で実行されるアプリケーションは、DRDAアクセスを使用して USIBMSTODB22 のサーバーに接続されています。 USIBMSTODB21 から、DETAIL キーワードを指定して DISPLAY THREAD コマンドを入力すると、次の出力が表示されます。
-DISPLAY THREAD(*) LOC(*) DET
   DSNV401I - DISPLAY THREAD REPORT FOLLOWS -
   DSNV402I - ACTIVE THREADS -
   NAME     ST A   REQ ID           AUTHID PLAN     ASID   TOKEN
   BATCH    TR *     6 BKH2C        SYSADM YW1019C  0009       2
    V436-PGM=BKH2C.BKH2C, SEC=1, STMNT=4
    V444-USIBMSY.SSLU.A23555366A29=2 ACCESSING DATA AT
     (  1)USIBMSTODB22-SSURLU
    V447--INDEX SESSID           A ST TIME
    V448--(  1) 0000000300000004 N R2 9015611253116
   DISPLAY ACTIVE REPORT COMPLETE
  11:26:23 DSN9022I - DSNVDT '-DISPLAY THREAD' NORMAL COMPLETION
この出力は、アプリケーションが USIBMSTODB22 のサーバーにより戻されるデータを待っていることを示しています。
USIBMSTODB22 のサーバーは、USIBMSTODB21 のアプリケーションに代わって、Db2プライベート・プロトコル・アクセスによって USIBMSTODB23 および USIBMSTODB24 のデータにアクセスするために、パッケージを実行しています。 USIBMSTODB22 から、DETAIL キーワードを指定して DISPLAY THREAD コマンドを入力すると、次の出力が表示されます。
-DISPLAY THREAD(*) LOC(*) DET
   DSNV401I - DISPLAY THREAD REPORT FOLLOWS -
   DSNV402I - ACTIVE THREADS -
   NAME     ST A   REQ ID           AUTHID PLAN     ASID   TOKEN
   BATCH    RA *     0 BKH2C        SYSADM YW1019C  0008       2
    V436-PGM=BKH2C.BKH2C, SEC=1, STMNT=4
    V445-STLDRIV.SSLU.A23555366A29=2 ACCESSING DATA FOR
     (  1)USIBMSTODB21-SSLU
    V444-STLDRIV.SSLU.A23555366A29=2 ACCESSING DATA AT
     (  2)USIBMSTODB23-OSSLU
     (  3)USIBMSTODB24-OSSURLU
    V447--INDEX SESSID           A ST TIME
    V448--(  1) 0000000300000004   S2 9015611253108
    V448--(  2) 0000000600000002   S1 9015611253077
    V448--(  3) 0000000900000005 N R1 9015611253907
   DISPLAY ACTIVE REPORT COMPLETE
  11:26:34 DSN9022I - DSNVDT '-DISPLAY THREAD' NORMAL COMPLETION
この出力は、USIBMSTODB22 のサーバーが、USIBMSTODB24 の 2 次サーバーによりデータが戻されるのを待っていることを示しています。
USIBMSTODB23 の 2 次サーバーは、USIBMSTODB22 の 1 次サーバーに代わってデータにアクセスします。 USIBMSTODB23 から、DETAIL キーワードを指定して DISPLAY THREAD コマンドを入力すると、次の出力が表示されます。
-DISPLAY THREAD(*) LOC(*) DET
   DSNV401I - DISPLAY THREAD REPORT FOLLOWS -
   DSNV402I - ACTIVE THREADS -
   NAME     ST A   REQ ID           AUTHID PLAN     ASID   TOKEN
   BATCH    RA *     2 BKH2C        SYSADM YW1019C  0006       1
    V445-STLDRIV.SSLU.A23555366A29=1 ACCESSING DATA FOR
         (  1)USIBMSTODB22-SSURLU
    V447--INDEX SESSID           A ST TIME
    V448--(  1) 0000000600000002 W R1 9015611252369
   DISPLAY ACTIVE REPORT COMPLETE
  11:27:25 DSN9022I - DSNVDT '-DISPLAY THREAD' NORMAL COMPLETION
この出力は、USIBMSTODB23 上の 2 次サーバーが現在アクティブでないことを示しています。
USIBMSTODB24 の 2 次サーバーも、USIBMSTODB22 の 1 次サーバーに代わってデータにアクセスします。 USIBMSTODB24 から、DETAIL キーワードを指定して DISPLAY THREAD コマンドを入力すると、次の出力が表示されます。
-DISPLAY THREAD(*) LOC(*) DET
   DSNV401I - DISPLAY THREAD REPORT FOLLOWS -
   DSNV402I - ACTIVE THREADS -
   NAME     ST A   REQ ID           AUTHID PLAN     ASID   TOKEN
   BATCH    RA *     2 BKH2C        SYSADM YW1019C  0006       1
    V436-PGM=*.BKH2C, SEC=1, STMNT=1
    V445-STLDRIV.SSLU.A23555366A29=1 ACCESSING DATA FOR
     (  1)USIBMSTODB22-SSURLU
    V447--INDEX SESSID           A ST TIME
    V448--(  1) 0000000900000005   S1 9015611253075
   DISPLAY ACTIVE REPORT COMPLETE
  11:27:32 DSN9022I - DSNVDT '-DISPLAY THREAD' NORMAL COMPLETION
この出力は、USIBMSTODB24 上の 2 次サーバーが現在アクティブであることを示しています。

会話状況が長時間変化しない場合があります。 これは、会話が停止している場合もあり、処理に時間がかかっている場合もあります。 会話が停止しているかどうかを判別するには、DISPLAY THREAD コマンドを再び出して、新しいタイム・スタンプと直前の出力メッセージからのタイム・スタンプを比較してください。 タイム・スタンプが変化しているのに状況が変化していない場合、ジョブはまだ処理中です。 分散ジョブを終了する必要がある場合、例えば、ハングアップしてデータベースロックを長時間保持している場合、スレッドが Db2 にある場合(アクティブまたはサスペンドの状態にかかわらず)、CANCEL DDF THREADコマンドを使用できます。 スレッドが VTAM 内にある場合は、VARY NET TERM コマンドを使用できます。 汎用プログラミングインターフェース情報の終了。

グラフィックのアクセシビリティー対応についての詳細な説明

詳細な説明の開始。

この図は、4 つの要求 DBMS とサービス提供 DBMS を表しています。 これらの DBMS の名前は、USIBMSTODB21、USIBMSTODB22、USIBMSTODB23、および USIBMSTODB24 です。

USIBMSTODB21 DRDA 経由で に接続します。 USIBMSTODB22 USIBMSTODB22 は、 Db2 のプライベートプロトコルアクセスを通じて、 USIBMSTODB23 と USIBMSTODB24 に接続します。 USIBMSTODB22 は、USIBMSTODB23 と USIBMSTODB24 からの情報を使用して、USIBMSTODB21 からの要求に応答します。

詳細な説明の終了。