IBM Support

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

Question & Answer


Question

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

Answer

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

1) DB2 およびレプリケーションのハングアップ (何も応答がない状態) が発生した場合

1. OS の資料
以下の資料を 30 秒から 60 秒程度の間隔で、3回程度採取してください。
  • [AIX の場合]
    (date >> [PID].out; procstack [PID]) >> [PID].out
    [Linux/Solaris/HP-UX の場合]
    (date >> [PID].out; pstack [PID]) >> [PID].out
    [PID]の指定は、キャプチャーは asncap、アプライは asnapply の PID を指定してください。

もしキャプチャー・スキーマやアプライ修飾子が複数存在している場合は、ps -ef コマンドで開始したときのコマンドを参照の上、該当 PID を特定してください。
  • $ ps -ef |grep asncap
    v11      24867 24712  0 Oct31 pts/2    00:01:12 asncap capture_server=srcdb capture_schema=asn startmode=cold
    $ ps -ef |grep asnapply
    v11      25190 24955  0 Oct31 pts/3    00:00:32 asnapply control_server=tgtdb apply_qual=emp
[Windows の場合]
タスクマネージャーの詳細タブから asncap.exe と asnapply.exe を右クリックして "ダンプファイルの作成" を実行し、ダンプを生成してください。

2. Db2 プロセスのスタック情報
以下の2つのコマンドを1セットとして、3回繰り返し実行してください。
1セットごとに1分程度間隔をあけて、2つのコマンドを同時に実行しないでください。
資料取得コマンド自体が無応答となる場合はそのコマンド実行を中止し、採取可能な資料を収集してください。
  • [Unix の場合]
    db2pd -eve > db2pd-eve_`date +"%Y%m%d_%H%M%S"`
    db2pd -stack all
    [Windows の場合]
    db2pd -eve > db2pd_eve."%DATE:/=_%_%TIME::=-%"
    db2pd -stack all
db2pd -eve の結果はカレント・ディレクトリーに、db2pd -stack all の結果は DIAGPATH に出力されます。
DIAGPATH に関する詳細は以下の文書を参照してください。
[Db2] db2diag.log や管理通知ログの出力先 (IM-10-0AC)


2) すべてのケースで必要になる資料

1. レプリケーション・ログ・ファイル
以下のファイルをお送りください。
  • キャプチャー・ログ:
    インスタンス名.データベース名.スキーマ名.CAP.log
    例) DB2.SAMPLE.ASN.CAP.log

    アプライ・ログ:
    インスタンス名.データベース名.スキーマ名.APP.log
    例) DB2.TGTDB.ASN.APP.log

2. asnanalyze (事象発生後に取得するレプリケーション・コントロール表の状態についての HTML レポート)
以下のコマンドをアプライ・コントロール・サーバー側で実行し、情報を収集します。
  • asnanalyze -db <キャプチャー・コントロール・サーバー名> <アプライ・コントロール・サーバー名> -la detailed -tl 30 -at 30 -ct 30 -cm 30 -sg 30 -pw パスワード・ファイル名
    ※ パラメーターの指定について
    -db パラメーターにはスペースを開けてデータベース名を並べて記述してください。
    -pw にはアプライ・コントロール・サーバー側で使用しているパスワード・ファイル名を指定してください。

    例)
    キャプチャー・コントロール・サーバー名 sample
    アプライ・コントロール・サーバー名 applysv
    パスワードファイル名 pwd.file
    asnanalyze -db sample applysv -la detailed -tl 30 -at 30 -ct 30 -cm 30 -sg 30 -pw pwd.file
3. asntrc (事象が再現できる場合、再現中に採取する資料)
asntrc は、サポート窓口からの依頼に応じて採取してください。
以下の手順を実行し、キャプチャーやアプライの内部関数の実行リストを採取します。
  • [キャプチャー・コントロール・サーバー側で実行: キャプチャーを開始するユーザーで実行してください
    asntrc on -db [db_name] -cap -schema [cap_schema] -fn asncap.trc
    (事象再現)
    asntrc off -db [db_name] -cap -schema [cap_schema]
    asntrc flw -fn asncap.trc > asncap.flw 2>&1
    asntrc fmt -fn asncap.trc > asncap.fmt 2>&1
    * [db_name] はキャプチャー・コントロール・サーバー名を指定してください。
    * [cap_schema] はキャプチャー・スキーマ名を指定してください。
    * asncap.trc、asncap.flw、asncap.fmt をお送りください。

    [アプライ・コントロール・サーバー側で実行: アプライを開始するユーザーで実行してください。]
    asntrc on -db [db_name] -app -qualifier [apply_qualifier] -fn asnapp.trc
    (事象再現)
    asntrc off -db [db_name] -app -qualifier [apply_qualifier]
    asntrc flw -fn asnapp.trc > asnapp.flw 2>&1
    asntrc fmt -fn asnapp.trc > asnapp.fmt 2>&1
    * [db_name] はアプライ・コントロール・サーバー名を指定してください。
    * [apply_qualifier] は アプライ修飾子名を指定してください。
    * asnapp.trc、asnapp.flw、asnapp.fmt をお送りください。

  • 4. db2support

  •  
db2support は、サポート窓口からの依頼に応じて採取してください。
キャプチャー・コントロール・サーバー、アプライ・コントロール・サーバーの両方、またはいずれかで採取をお願いするケースがあります。
以下のURL内の手順で db2support を採取してください。
関連情報
パスポート・アドバンテージによく寄せられる質問

お問合せ先
技術的な内容に関して、パスポート・アドバンテージの契約のもと 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:
16 August 2023

UID

swg22004335