Question & Answer
Question
Legacy JDBC driver の環境で、JDBC トレースを取得する方法を教えてください。
Answer
JDBC トレースは、クライアントからの接続や SQL ステートメント実行時の問題に関する診断情報を提供します。
CLI アプリケーションで問題が生じ、アプリケーションの外部でその問題を再作成できない場合は、CLI トレースが適切ですが、もしどちらの問題か不明な場合は、JDBC トレースと CLI トレースの両方を取得してください。
以下は、Legacy JDBC driver の環境で、JDBC トレースと CLI トレースもあわせて取得する手順をご紹介します。
手順:
1. UNIX の場合は、インスタンスオーナーでログインしてください。Windows の場合は、システム管理者(Administrators) 権限を持つユーザーでログオンしてください。
2. JDBC トレースを設定します。
JCBC トレースの設定のため、以下のコマンドを実行します。
- db2 update cli cfg for section common using jdbctracepathname <jdbcpathname> ※1
db2 update cli cfg for section common using jdbctraceflush 1
db2 update cli cfg for section common using jdbctracecomm 1
db2 update cli cfg for section common using jdbctrace 1
CLIトレースの設定のため、以下のコマンドを実行します。
- db2 update cli cfg for section common using tracepathname <clipathname> ※1
db2 update cli cfg for section common using traceflush 1
db2 update cli cfg for section common using tracecomm 1
db2 update cli cfg for section common using tracetimestamp 1
db2 update cli cfg for section common using trace 1
- DB20000I UPDATE CLI CONFIGURATION コマンドが正常に完了しました。
注:
- ※1 の 'jdbcpathname' と 'clipathname' にはそれぞれ存在するディレクトリーを指定します。
- 同一出力パスにすると混乱するため、CLI トレースと JDBC トレースは異なる出力パスを指定してください。
- これらのディレクトリーは全ユーザーが書き込み可能な状態である必要があります。
3. トレースの設定を確認します。
以下のコマンドを実行してください。
- db2 get cli cfg for section common
出力例:
- セクション: common
-------------------------------------------------
jdbctrace=1
jdbctracecomm=1
jdbctracepathname=/test/db2/jdbctrace
jdbctraceflush=1
tracetimestimestamp=1
trace=1
tracetimestamp=1
tracecomm=1
traceflush=1
tracepathname=/test/db2/clitrace
各パラメーターが指定通りの値になっているか、確認してください。
JDBC トレース、CLI トレース共に、トレースの設定をした後の新規コネクションから有効になります。既存の接続に対しては有効ではありません。そのため、稼動中のアプリケーションは一度停止して再起動する必要があります。
3. 問題を再現します。
4. 再現が完了したら、トレースを停止します。
JDBC トレースを停止します。
- db2 update cli cfg for section common using jdbctrace 0
CLI トレースを停止します。
- db2 update cli cfg for section common using trace 0
以下のコマンドで、結果を確認します。
- db2 get cli cfg for section common
サポートをご利用の場合、指定先のパスに生成されたファイルをサポートに送付してください。
注意事項
- このガイドは Legacy JDBC driver (COM.ibm.db2.jdbc.app) を使用している場合の JDBC トレース取得方法です。
- Type2 接続 (COM.ibm.db2.jdbc.app.DB2Driver) を使用している場合は、DB2 クライアント側で JDBC / CLI トレースを設定します。例えば DB2 と WAS を利用したシステムで WAS と DB2 が別のマシンの場合、WAS 側でトレースを取得します。
- トレースをセットすることでなかりパフォーマンスが落ちます。
- トレースファイルは、トレースの内容が追加されて容量が大きくなっていきます。ディレクトリの容量に注意してください。
- トレースを取り直す場合は、取得先ディレクトリーにある既存のトレース・ファイルを削除してから、トレースを実行し直してください。
関連情報
[DB2 LUW] DB2 が提供している JDBC ドライバーの種類
db2cli.ini ファイルの使用による CLI ドライバーのトレース (v11.1)
db2cli.ini ファイルの使用による CLI ドライバーのトレース (v10.5)
db2cli.ini ファイルの使用による CLI ドライバーのトレース (v10.1)
db2cli.ini ファイルの使用による CLI ドライバーのトレース (v9.7)
お問合せ先
技術的な内容に関して、サービス契約のもと IBM サービス・ラインにお問い合わせください。
IBM サービス・ライン
[{"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":"OTHER - Uncategorised","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"9.7;10.1;10.5;11.1","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]
Was this topic helpful?
Document Information
Modified date:
16 June 2018
UID
swg21618588