IBM Support

[Db2] Q レプリケーション環境での障害発生時の取得資料

Question & Answer


Question

Q レプリケーション環境で問題が発生した場合、どのような資料を取得すれば原因調査に有効ですか。

Answer

代表的な現象ごとに、取得すべき資料について説明します。また、すべてのケースで必要になる資料について、最後に説明します。

1) Db2 およびレプリケーションのハングアップ (何も応答がない状態) が発生した場合
  1. キャプチャーおよびアプライのスタック
    以下の資料を 30 秒から 60 秒程度の間隔で、3 回程度ご取得ください。
    ここで [PID] はキャプチャーやアプライのプロセス ID です。
    【AIX の場合】
    (date >> [PID].out; procstack [PID]) >> [PID].out
    【Linux の場合】
    (date >> [PID].out; pstack [PID]) >> [PID].out
    【Solaris の場合】
    (date >> [PID].out; pstack [PID]) >> [PID].out
    【HP-UX の場合】
    (date >> [PID].out; pstack [PID]) >> [PID].out
  2. Db2 プロセスのスタック情報
    以下の資料を 30 秒 から 60 秒程度の間隔で、3 回程度ご取得ください。
    db2pd -eve > db2pd-eve_`date +"%Y%m%d_%H%M%S"`
    db2pd -stack all -rep 60 3
2) キューにメッセージが滞留する状態が発生した場合
  • キュー内のメッセージの情報
    以下のコマンドを実行し、問題となっているキューに溜まっているメッセージをフォーマットして表示します。
    asnqmfmt [queue_name] [queue_manager_name] -mqmd -l 100 -o message.out
    asnqmfmt [queue_name] [queue_manager_name] -mqmd -l 100 -hex -o message_hex.out
    * [queue_name] には該当キュー名を指定してください。
    * [queue_,manager_name] には該当キュー・マネージャー名を指定してください。
    * message.out と message_hex.out をお送りください。
3) すべてのケースで必要になる資料
上記のいずれのケースでも共通に必要になる資料についてご説明します。
  1. レプリケーション・ログ・ファイルおよびトレース・ファイル
    以下のファイルをお送りください。
    • インスタンス名.データベース名.スキーマ名.QCAP.log例)
      DB2.SAMPLE.ASN.QCAP.log
    • インスタンス名.データベース名.スキーマ名.QAPP.log例)
      DB2.TGTDB.ASN.QAPP.log
  2. asnqanalyze (レプリケーション・コントロール表の状態についての HTML レポート)
    以下の手順を実行し、レポートを生成します。
    1. 情報の収集
      以下のコマンドを実行し、情報を収集します。
      asnqanalyze gather database=[ソース・データベース名] PASSFILE=[パスワード・ファイル] schema=ASN logdays=30 CAPLOGDIR=[CAPTURE_PATH] PORT=[MQ リスナーのポート]
      asnqanalyze gather database=[ターゲット・データベース名] PASSFILE=[パスワード・ファイル] schema=ASN logdays=30 APPLOGDIR =[APPLY_PATH] PORT=[MQ リスナーのポート]
    2. xml ファイルの抽出
      以下のコマンドを実行し、xml ファイルを抽出します。
      unzip [1-1で出力された出力ファイル]
    3. レポート HTML の作成
      以下のコマンドを実行し、レポート HTML を作成します。
      asnqanalyze report [ソース・データベース名].[スキーマ名].xml [ターゲット・データベース名].[スキーマ名].xml
    4. コントロール表のみの情報収集
      以下のコマンドを実行し、情報を収集します。
      asnqanalyze generate html report database=[ソース・データベース名] schema=[スキーマ名]
      asnqanalyze generate html report database=[ターゲット・データベース名] schema=[スキーマ名]
  3. asntrc (事象が再現できる場合)
    以下の手順を実行し、キャプチャーやアプライの内部関数の実行リストを取得します。
    [アプライ側で実行]
    asntrc on -db [db_name] -qapp -schema [qapply_schema] -fn asnqapp.trc
    (事象再現)
    asntrc off -db [db_name] -qapp -schema [qapply_schema]
    asntrc flw -fn asnqapp.trc > asnqapp.flw 2>&1
    asntrc fmt -fn asnqapp.trc > asnqapp.fmt 2>&1
    * [db_name] には Q アプライのコントロール・データベース名を指定してください。
    * [qapply_schema] には Q アプライのプログラム名を指定してください。
    * asnqapp.trc、asnqapp.flw、asnqapp.fmt をお送りください。

    [キャプチャー側で実行]
    asntrc on -db [db_name] -qcap -schema [qcap_schema] -fn asnqcap.trc
    (事象再現)
    asntrc off -db [db_name] -qcap -schema [qcap_schema]
    asntrc flw -fn asnqcap.trc > asnqcap.flw 2>&1
    asntrc fmt -fn asnqcap.trc > asnqcap.fmt 2>&1
    * [db_name] には Q キャプチャーのコントロール・データベース名を指定してください。
    * [qcap_schema] には Q キャプチャーのプログラム名を指定してください。
    * asnqcap.trc、asnqcap.flw、asnqcap.fmt をお送りください。
  4. db2support
    以下のページの手順で db2support をご取得ください。
    [Db2] db2support の取得手順 (Linux/UNIX 版)
    [Db2] db2support の取得手順 (Windows 版)
     
関連情報
パスポート・アドバンテージによく寄せられる質問

お問合せ先
技術的な内容に関して、パスポート・アドバンテージの契約のもと Db2 テクニカル・サポートへお問い合わせください。
Db2 テクニカル・サポート

[{"Type":"MASTER","Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"ARM Category":[{"code":"a8m3p0000006wkiAAA","label":"Replication"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]

Document Information

Modified date:
23 August 2023

UID

swg21673078