IBM Support

[DB2 LUW] JDBC トレース取得手順 (Legacy JDBC driver)

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"}}]

Document Information

Modified date:
16 June 2018

UID

swg21618588