Troubleshooting
Problem
データベースへの接続時などに、インスタンスがハングすることがあります。 その際の復旧手順と、原因調査のために必要となる資料の取得方法について説明します。
Symptom
データベースへの接続や SQL の実行がハングすることがあります。
注: ここでは「ハング」として以下のような状態を扱います。
- Db2 の処理が全て無応答になっている。
- 既存の接続は使えるようだが、新規の接続を試みると反応がない。
- 特定の操作 (例えば、プロシージャーや UDF の呼び出し等) を行うとそのセッションは必ず無応答になる。
- db2stop や db2stop force も応答がない。
以下のような状態は、Db2 の「ハング」とは異なります。
- ロック待ちになっている。
- 通常時に比べ非常に遅いが、処理は少しずつ進んでいる。 (処理のスロー・ダウン)
- ls など OS のコマンドも受け付けなくなっている。 外部から telnet などもできず ping も返らない。 (OS のハングやネットワークの問題等)
Cause
排他制御の競合などにより、Db2 のエージェントなどの EDU がハング状態となっている可能性があります。
ハングの原因は発生状況によって異なりますので、原因の追求のためには発生時に情報を取得して調査する必要があります。
Resolving The Problem
以下の作業は、UNIX/Linux ではインスタンス・オーナーとしてログインして実行してください。
Windows では管理者としてログオンし、 「DB2 コマンド ウィンドウ - 管理者」から実行してください。
- 資料の取得
以下の2つのコマンドを1セットとして、3セット繰り返し実行してください。 (注1)
1セットごとに1分程度間隔をあけて、2つのコマンドは同時に実行しないでください。
資料取得コマンド自体が無応答となる場合はそのコマンド実行を中止し、取得可能な資料を収集してください。
[Linux/UNIX]db2pd -eve > db2pd-eve_`date +"%Y%m%d_%H%M%S"` db2pd -stack all
db2pd -eve > db2pd_eve."%DATE:/=_%_%TIME::=-%" db2pd -stack all
db2fodc -hang -members all
- インスタンスの強制終了
Db2 10.5 以降、または Db2 10.1 以前でも Enterprise Server Edition 以上の場合 (db2_kill コマンドが実行可能な場合)、以下のコマンドでインスタンスを強制終了してください。db2_kill
db2nkill 0
- インスタンスの復旧
強制終了後のインスタンスの復旧方法については、以下の文書を参照してください。
DB2 異常終了時の対処方法と、原因調査に必要な最低限の資料収集方法
- (Windows のみ) トラップ・ファイルのフォーマット
Windows 環境では db2pd -stack all によるトラップ・ファイルの出力がバイナリ形式のため、以下のコマンドで出力されたトラップ・ファイルをフォーマットしてください。db2xprt <トラップ・ファイル名> <フォーマット後のファイル名>
【Db2 9.1 以前】for %i in (*.TRP) do db2xprt %i %~ni.FMT
for %i in (*.trap.bin) do db2xprt %i %~ni.txt
- db2support の取得
以下のコマンドで、ログや環境情報などの必要な資料を収集してください。
db2pd -stack all や db2fodc コマンドを出力結果も db2support で収集されます。db2support <出力先ディレクトリー> -s -d <データベース名> -c -f > db2support.log 2>&1
- テクニカル・サポートへの連絡
原因の調査が必要な場合、IBM テクニカル・サポートに連絡し、出力された db2pd_eve.out と db2support.zip、db2support.log を送付してください。
注1:
db2pd -eve の結果はカレント・ディレクトリーに、db2pd -stack all の結果は DIAGPATH に出力されます。
DIAGPATH に関する詳細は、以下の文書を参照してください。
[Db2] db2diag.log や管理通知ログの出力先 (IM-10-0AC)
注2:
db2fodc コマンド内では OS のトレースも取得されますが、特定の AIX 環境では OS のトレース取得時にハングしてしまう問題 (APPS USING USER TRACE HOOKS FAIL WHEN TRACE IS ENABLED) が発生します。
以下 URL のバージョンごとの情報から、問題が修正された TL をご利用いただいているか、ご確認ください。
なお、-members all オプションは V9.7 FP5 以降で使用可能です。
Known issues for DB2 on AIX 5.2, 5.3, 6.1, and 7.1
関連情報
db2pd - Db2 データベースのモニターおよびトラブルシューティング・コマンド
db2fodc - DB2 First Occurrence Data Collection コマンド
db2xprt - トラップ・ファイルのフォーマット
パスポート・アドバンテージによく寄せられる質問
Was this topic helpful?
Document Information
Modified date:
03 November 2023
UID
swg21503291