問題を診断するために使用できるトレースは他にもあります。 この節では、次のトレースを説明します。
DB2 カスタマー・サポートから管理ツール・トレースを行うよう指示されることがあります。 このトレースは、DB2 の図形管理ツール (コントロール・センター、アラート・センター、 およびコマンド・センターなど) を対象に行われます。 また、このトレースは、これらのツールがデータベースへのアクセスやデータベースの使用の際に問題を検出した場合、 追加情報を提供します。 ユーザー・インターフェース自体に問題があると思われる場合、ICLUI トレースを使用してください。
このトレースは、再作成できる問題についてのみ使用するようお勧めします。 このトレースは、要求、接続、インスタンスへの付属物、CLI/ODBC/JDBC 呼び出し、DAS 要求、API 呼び出し、 および問題発生時に行われているその他の活動に関する詳細な情報を提供します。
トレース・ファイルのフォーマットは、ログ・ファイルのフォーマットと似ていますが、 トレース・ファイルのほうがログ・ファイルより多くの情報を記録している点が違います。 詳細については、管理ツール・ログの使用を参照してください。
どれほどの量の情報が書き込まれているかによって、 トレース・ファイルはオペレーティング・システムが指定した最大ファイル・サイズまで拡張できます。 次に管理ツール・トレースを行う時には、トレース・ファイルは上書きされます。
管理ツール・トレース機能を呼び出すには、次のようにします。
set DBTTRACE=Y
set DBTTRACE_FILE=location
たとえば、次のコマンドを実行するとトレース出力はファイル d:\aetrace に送信されます。
set DBTTRACE_FILE=d:\aetrace
DB2 コネクト トレース (ddcstrc) は、DB2 コネクト製品の問題を診断するのに使用します。 詳細については、DB2 コネクト 使用者の手引き を参照してください。
DRDA トレース (db2drdat コマンド) を使用して、DRDA アプリケーション・リクエスター (AR) および DRDA アプリケーション・サーバー (AS) の間で交換された DRDA データ・ストリームを取り込むことができます。 このツールは大抵、問題判別のために使用されますが、 クライアント / サーバー環境でパフォーマンス調整を行う時にも使用できます。 その場合、アプリケーションを実行するのにいくつの送信および受信が要求されたかを判別します。 このツールを使用するには、SYSADM、SYSCTRL、または SYSMAINT のいずれかの権限が必要です。
db2drdat コマンドの構文は、 以下の図に示してあります。 その後に、パラメーターの説明があります。
.---------. .-on--. V | >>-db2drdat--+-+-----+-----+--r-+--+---+-----------+-+--------->< | +--s-+ '--l=length-' | | '--c-' | '-off--+--------------+---+--------+----' '--t=tracefile-' '--p=pid-'
パラメーター
記録された CPI-C エラー情報には、次のものが含まれます。
注: | tracefile が指定されていない場合、 メッセージは現行ディレクトリーの db2drdat.dmp ファイルに入れられます。 |
注:
DB2 はアラートを生成して、データベース管理者またはネットワーク管理者に、 データベースまたはデータベース・サーバーの重大エラーを通知します。 次の 2 種類のアラートが使用されます。
SNA アラートが生成されると、 そのアラートには起きた問題についての複数の異なった種類の情報が含まれます。 これらの情報を活用すれば、SNA および APPC 通信での問題のどんな種類の原因でも解決できます。
SNA トレースの使用については、"SNA trace" をキーワードにして、http://www.ibm.com/software/data/db2/library/ で DB2 Product and Service Technical Library を検索してください。 検索の結果として、製品の資料が検出されます。 ご使用の環境のプラットフォームを選択してください。 診断、問題判別、または問題判別の情報を調べ、 索引で "tracing" または "SNA trace" という項目を探します。
CLI、ODBC、または SQLJ を使用するアプリケーションと DB2 CLI ドライバーを使用して、 すべての機能呼び出しを非暗号化テキスト・ファイルにトレースすることができます。 このようにすると、問題判別やデータベースおよびアプリケーションの調整に役立ちますし、 また、単に第三者のアプリケーションの実行内容をより良く理解する上でも助けになります。
実行時にこのトレースを使用可能にするには、 クライアント構成アシスタント (使用できる場合) からアクセスできる CLI/ODBC 設定ノートブックを使用するか、 または、db2cli.ini ファイルを直接編集します。 さらに、CLI/ODBC/JDBC アプリケーションで、トレースを使用可能にすることもできます。 この場合は、SQL_ATTR_TRACE および SQL_ATTR_TRACEFILE 環境または接続の属性を設定します。 これら 2 つは Microsoft ODBC ドライバー・マネージャーのトレース機能で使用される同じ属性です。
db2cli.ini ファイルはデフォルトで保管されており、 保管位置はそれぞれ、Intel プラットフォームでは \sqllib\ パス、UNIX プラットフォームでは /sqllib/cfg/ パスです。 トレース機能では、次の CLI/ODBC/JDBC 構成キーワードを使用します。
さらに、トレースを使用可能にするには次の行を追加する必要があります。 キーワードには大文字小文字の区別はありません。
または
TracePathname=(完全修飾パス名)
注: | これら 2 つのうちの少なくとも 1 つを指定する必要があります。 ただし、両方を指定することはできません。 |
たとえば、次のようになります。
[COMMON] trace=1 tracefilename=d:\temp\clitrace.txt
TRACE を 0 に設定すると、トレースは行われません。 トレース・ファイルの情報は構成ファイルに残され、 次に必要になったときに使用することができます。 詳細については、 TRACEを参照してください。
アプリケーションが存在しない場合や変則的に存在する場合は、 トレース・ファイルが完全でないことが考えられます。 TRACEFLUSH を 1 に設定すると、毎回の機能呼び出しで、 ディスクへのフラッシュが行われます (これにより、トレースのオーバーヘッドは急激に増加します)。 詳細については、 TRACEFLUSHを参照してください。
トレース・ファイルに含まれている各ネットワークの要求について知りたい場合は、TRACECOMM を 1 に設定します。 詳細については、 TRACECOMMを参照してください。
CLI トレースでタイミング情報を各行に追加したい場合には、TRACETIMESTAMP を 1、2、または 3 に設定します。 TRACETIMESTAMP を 1 に設定すると、タイム・スタンプに続いて秒とミリ秒の単位の絶対時刻が提供されます。 TRACETIMESTAMP を 2 に設定すると、秒とミリ秒の単位の絶対時刻が提供されます。 TRACETIMESTAMP を 3 に設定すると、タイム・スタンプが提供されます。
CLI トレースでプロセスおよびスレッド ID を各行に追加したい場合には、TRACEPIDTID を 1 に設定します。
db2cli.ini ファイルはデフォルトで保管されており、 保管位置はそれぞれ、Intel プラットフォームでは \sqllib\ パス、UNIX プラットフォームでは /sqllib/cfg/ パスです。 以下の CLI/ODBC/JDBC 構成キーワードを使用すると、 通常の CLI/ODBC トレースよりもさらに多くの情報を提供する JDBC トレースが使用可能になります。 トレース機能では、次の CLI/ODBC/JDBC 構成キーワードを使用します。
さらに、トレースを使用可能にするには次の行を追加する必要があります。 キーワードには大文字小文字の区別はありません。
たとえば、次のようになります。
[COMMON] jdbctrace=1 jdbcpathname=d:\temp
JDBCTRACE を 0 に設定すると、トレースは行われません。 トレース・ファイルの情報は構成ファイルに残され、 次に必要になったときに使用することができます。 詳細については、JDBCTRACEを参照してください。
アプリケーションが存在しない場合や変則的に存在する場合は、 トレース・ファイルが完全でないことが考えられます。 JDBCTRACEFLUSH を 1 に設定すると、毎回の機能呼び出しで、 ディスクへのフラッシュが行われます (これにより、トレースのオーバーヘッドは急激に増加します)。 詳細については、 JDBCTRACEFLUSHを参照してください。
TRACEFILENAME キーワードと一緒に完全修飾ファイル名を使用している場合は、 何の問題もなくファイルを見つけることができます。 相対パス名を使用している場合は、 オペレーティング・システムがアプリケーションの現行パスとして何を認識するかによって決まります。
TRACEPATHNAME または JDBCTRACEPATHNAME キーワードと一緒に、ファイル名の代わりにパス名を使用した場合は、 ディレクトリーを調べて、 アプリケーションのプロセス ID と拡張子 (固有のスレッドごとの順序番号) から成る名前 (たとえば、65397.0、65397.1、65397.2) で作成したファイルのセットを探す必要があります。 ファイルの日付とタイム・スタンプを、 関係のあるファイルを配置する際の参考にすることができます。
相対パス名を使用している場合は、 オペレーティング・システムがアプリケーションの現行パスとして何を認識するかによって決まります。
出力ファイルがない場合は次のようにします。
トレースを行う目的は、呼び出された機能ごとに呼び出しの順序、 入出力の引き数、および戻りコードを表示することです。 トレースは、CLI/ODBC/JDBC 機能の呼び出しに精通したユーザーを対象としています。 なお、ここで重要な 2 つの項目は、 実行される SQL ステートメントのテキストと、 アプリケーションが無視するすべてのエラー・メッセージです。
これらの項目を見つけるには、次のような方法があります。
トレース・ファイルで "SQLExecDirect" というストリングと、"SQLPrepare" というストリングを検索します。 そうすると、テキストと "--->" 入力矢印 (編集プログラムはここで行を折り返します) が含まれているのと同じ行に、SQL ステートメントが見つかります。
トレース・ファイルで "SQLError" を検索すると、 このストリングと出力矢印 "<---" が含まれている行に、メッセージのテキストが表示されます。
また、SQL_ERROR または SQL_SUCCESS_WITH_INFO 戻りコードの受信に続いて、 SQLGetDiagRec() または SQLGetDiagField() を検索します。
"Unretrieved error message=" を検索します。 これは、直前の呼び出しで SQL_ERROR または SQL_SUCCESS_WITH_INFO 戻りコードが返されたものの、 アプリケーションがエラー情報を照会しなかったことを意味します。
注: | アプリケーションは一部のエラー・メッセージを予期していることがあります。 そのため、トレース・ファイルのエラー・メッセージをすべて確認して、 重要なエラーを判別する必要があります。 |
これから示すトレース・ファイルの例を参照してください。 なお、行番号はここで説明するために追加されたもので、 本来のトレースでは表示されません。
注: | これらの時間の細分度や正確度は、プラットフォームによって変わります。 |
この例では、説明のために行番号を加えていますが、 実際のトレースでは行番号は表示されません。
1 Build Date: 97/05/13-Product: QDB2/6000 (4) - Driver Version: 05.00.0000 2 SQLAllocHandle( fHandleType=SQL_HANDLE_ENV, hInput=0:0, phOutput=&2ff7f388 ) 3 ---> Time elapsed - +1.399700E-002 seconds 4 SQLAllocHandle( phOutput=0:1 ) 5 <--- SQL_SUCCESS Time elapsed - +6.590000E-003 seconds 6 SQLAllocHandle( fHandleType=SQL_HANDLE_DBC, hInput=0:1, phOutput=&2ff7f378 ) 7 ---> Time elapsed - +1.120000E-002 seconds 8 SQLAllocHandle( phOutput=0:1 ) 9 <--- SQL_SUCCESS Time elapsed - +8.979000E-003 seconds 10 SQLSetConnectOption( hDbc=0:1, fOption=SQL_ATTR_AUTOCOMMIT, vParam=0 ) 11 ---> Time elapsed - +6.638000E-003 seconds 12 SQLSetConnectOption( ) 13 <--- SQL_SUCCESS Time elapsed - +1.209000E-003 seconds 14 SQLDriverConnect( hDbc=0:1, hwnd=0:0, szConnStrIn="DSN=loopback; uid=clitest1;pwd=*******", cbConnStrIn=-3, szConnStrOut=&2ff7e7b4, cbConnStrOutMax=250, pcbConnStrOut=&2ff7e7ae, fDriverCompletion=SQL_DRIVER_NOPROMPT ) 15 ---> Time elapsed - +1.382000E-003 seconds 16 SQLDriverConnect( szConnStrOut="DSN=LOOPBACK;UID=clitest1;PWD=*******;", pcbConnStrOut=38 ) 17 <--- SQL_SUCCESS Time elapsed - +7.675910E-001 seconds 18 ( DSN="LOOPBACK" ) 19 ( UID="clitest1" ) 20 ( PWD="*******" ) 21 SQLAllocHandle( fHandleType=SQL_HANDLE_STMT, hInput=0:1, phOutput=&2ff7f378 ) 22 ---> Time elapsed - +1.459900E-002 seconds 23 SQLAllocHandle( phOutput=1:1 ) 24 <--- SQL_SUCCESS Time elapsed - +7.008300E-002 seconds 25 SQLExecDirect( hStmt=1:1, pszSqlStr="create table test(id integer, name char(20), created date)", cbSqlStr=-3 ) 26 ---> Time elapsed - +1.576899E-002 seconds 27 SQLExecDirect( ) 28 <--- SQL_SUCCESS Time elapsed - +1.017835E+000 seconds 29 SQLPrepare( hStmt=1:1, pszSqlStr="insert into test values (?, ?, current date)", cbSqlStr=-3 ) 30 ---> Time elapsed - +5.008000E-003 seconds 31 SQLPrepare( ) 32 <--- SQL_SUCCESS Time elapsed - +7.896000E-003 seconds 33 SQLBindParameter( hStmt=1:1, iPar=1, fParamType=SQL_PARAM_INPUT, fCType=SQL_C_LONG, fSQLType=SQL_INTEGER, cbColDef=4, ibScale=0, rgbValue=&20714d88, cbValueMax=4, pcbValue=&20714d54 ) 34 ---> Time elapsed - +2.870000E-003 seconds 35 SQLBindParameter( ) 36 <--- SQL_SUCCESS Time elapsed - +3.803000E-003 seconds 37 SQLBindParameter( hStmt=1:1, iPar=2, fParamType=SQL_PARAM_INPUT, fCType=SQL_C_CHAR, fSQLType=SQL_CHAR, cbColDef=20, ibScale=0, rgbValue=&20714dd8, cbValueMax=21, pcbValue=&20714da4 ) 38 ---> Time elapsed - +2.649000E-003 seconds 39 SQLBindParameter( ) 40 <--- SQL_SUCCESS Time elapsed - +3.882000E-003 seconds 41 SQLExecute( hStmt=1:1 ) 42 ---> Time elapsed - +3.681000E-003 seconds 43 ( iPar=1, fCType=SQL_C_LONG, rgbValue=10, pcbValue=4, piIndicatorPtr=4 ) 44 ( iPar=2, fCType=SQL_C_CHAR, rgbValue="-3", pcbValue=2, piIndicatorPtr=2 ) 45 SQLExecute( ) 46 <--- SQL_SUCCESS Time elapsed - +4.273490E-001 seconds 47 SQLExecute( hStmt=1:1 ) 48 ---> Time elapsed - +5.483000E-003 seconds 49 ( iPar=1, fCType=SQL_C_LONG, rgbValue=10, pcbValue=4, piIndicatorPtr=4 ) 50 ( iPar=2, fCType=SQL_C_CHAR, rgbValue="-3", pcbValue=2, piIndicatorPtr=2 ) 51 SQLExecute( ) 52 <--- SQL_SUCCESS Time elapsed - +1.299300E-002 seconds 53 SQLExecute( hStmt=1:1 ) 54 ---> Time elapsed - +3.702000E-003 seconds 55 ( iPar=1, fCType=SQL_C_LONG, rgbValue=10, pcbValue=4, piIndicatorPtr=4 ) 56 ( iPar=2, fCType=SQL_C_CHAR, rgbValue="-3", pcbValue=2, piIndicatorPtr=2 ) 57 SQLExecute( ) 58 <--- SQL_SUCCESS Time elapsed - +1.265700E-002 seconds 59 SQLExecDirect( hStmt=1:1, pszSqlStr="select * from test", cbSqlStr=-3 ) 60 ---> Time elapsed - +2.983000E-003 seconds 61 SQLExecDirect( ) 62 <--- SQL_SUCCESS Time elapsed - +2.469180E-001 seconds 63 SQLBindCol( hStmt=1:1, iCol=1, fCType=SQL_C_LONG, rgbValue=&20714e38, cbValueMax=4, pcbValue=&20714e04 ) 64 ---> Time elapsed - +5.069000E-003 seconds 65 SQLBindCol( ) 66 <--- SQL_SUCCESS Time elapsed - +2.660000E-003 seconds 67 SQLBindCol( hStmt=1:1, iCol=2, fCType=SQL_C_CHAR, rgbValue=&20714e88, cbValueMax=21, pcbValue=&20714e54 ) 68 ---> Time elapsed - +2.492000E-003 seconds 69 SQLBindCol( ) 70 <--- SQL_SUCCESS Time elapsed - +2.795000E-003 seconds 71 SQLBindCol( hStmt=1:1, iCol=3, fCType=SQL_C_CHAR, rgbValue=&20714ee8, cbValueMax=21, pcbValue=&20714eb4 ) 72 ---> Time elapsed - +2.490000E-003 seconds 73 SQLBindCol( ) 74 <--- SQL_SUCCESS Time elapsed - +2.749000E-003 seconds 75 SQLFetch( hStmt=1:1 ) 76 ---> Time elapsed - +2.660000E-003 seconds 77 SQLFetch( ) 78 <--- SQL_SUCCESS Time elapsed - +9.200000E-003 seconds 79 ( iCol=1, fCType=SQL_C_LONG, rgbValue=10, pcbValue=4 ) 80 ( iCol=2, fCType=SQL_C_CHAR, rgbValue="-3 ", pcbValue=20 ) 81 ( iCol=3, fCType=SQL_C_CHAR, rgbValue="1997-05-23", pcbValue=10 ) 82 SQLFetch( hStmt=1:1 ) 83 ---> Time elapsed - +4.942000E-003 seconds 84 SQLFetch( ) 85 <--- SQL_SUCCESS Time elapsed - +7.860000E-003 seconds 86 ( iCol=1, fCType=SQL_C_LONG, rgbValue=10, pcbValue=4 ) 87 ( iCol=2, fCType=SQL_C_CHAR, rgbValue="-3 ", pcbValue=20 ) 88 ( iCol=3, fCType=SQL_C_CHAR, rgbValue="1997-05-23", pcbValue=10 ) 89 SQLFetch( hStmt=1:1 ) 90 ---> Time elapsed - +4.872000E-003 seconds 91 SQLFetch( ) 92 <--- SQL_SUCCESS Time elapsed - +7.669000E-003 seconds 93 ( iCol=1, fCType=SQL_C_LONG, rgbValue=10, pcbValue=4 ) 94 ( iCol=2, fCType=SQL_C_CHAR, rgbValue="-3 ", pcbValue=20 ) 95 ( iCol=3, fCType=SQL_C_CHAR, rgbValue="1997-05-23", pcbValue=10 ) 96 SQLFetch( hStmt=1:1 ) 97 ---> Time elapsed - +5.103000E-003 seconds 98 SQLFetch( ) 99 <--- SQL_NO_DATA_FOUND Time elapsed - +6.044000E-003 seconds 100 SQLCloseCursor( hStmt=1:1 ) 101 ---> Time elapsed - +2.682000E-003 seconds 102 SQLCloseCursor( ) 103 <--- SQL_SUCCESS Time elapsed - +6.794000E-003 seconds 104 SQLExecDirect( hStmt=1:1, pszSqlStr="select * foo bad sql", cbSqlStr=-3 ) 105 ---> Time elapsed - +2.967000E-003 seconds 106 SQLExecDirect( ) 107 <--- SQL_ERROR Time elapsed - +1.103700E-001 seconds 108 SQLError( hEnv=0:0, hDbc=0:0, hStmt=1:1, pszSqlState=&2ff6f19c, pfNativeError=&2ff6ed00, pszErrorMsg=&2ff6ed9c, cbErrorMsgMax=1024, pcbErrorMsg=&2ff6ed0a ) 109 ---> Time elapsed - +2.267000E-003 seconds 110 SQLError( pszSqlState="42601", pfNativeError=-104, pszErrorMsg="[IBM][CLI Driver][DB2/6000] SQL0104N An unexpected token "foo bad sql" was found following "select * ". Expected tokens may include: "<space>". SQLSTATE=42601 111 ", pcbErrorMsg=163 ) 112 <--- SQL_SUCCESS Time elapsed - +5.299000E-003 seconds 113 SQLError( hEnv=0:0, hDbc=0:0, hStmt=1:1, pszSqlState=&2ff6f19c, pfNativeError=&2ff6ed00, pszErrorMsg=&2ff6ed9c, cbErrorMsgMax=1024, pcbErrorMsg=&2ff6ed0a ) 114 ---> Time elapsed - +2.753000E-003 seconds 115 SQLError( ) 116 <--- SQL_NO_DATA_FOUND Time elapsed - +2.502000E-003 seconds 117 SQLExecDirect( hStmt=1:1, pszSqlStr="select * foo bad sql", cbSqlStr=-3 ) 118 ---> Time elapsed - +3.292000E-003 seconds 119 SQLExecDirect( ) 120 <--- SQL_ERROR Time elapsed - +6.012500E-002 seconds 121 SQLFreeHandle( fHandleType=SQL_HANDLE_STMT, hHandle=1:1 ) 122 ---> Time elapsed - +2.867000E-003 seconds 123 ( Unretrieved error message="SQL0104N An unexpected token "foo bad sql" was found following "select * ". Expected tokens may include: "<space>". SQLSTATE=42601 124 " ) 125 SQLFreeHandle( ) 126 <--- SQL_SUCCESS Time elapsed - +4.936600E-002 seconds 127 SQLEndTran( fHandleType=SQL_HANDLE_DBC, hHandle=0:1, fType=SQL_ROLLBACK ) 128 ---> Time elapsed - +2.968000E-003 seconds 129 SQLEndTran( ) 130 <--- SQL_SUCCESS Time elapsed - +1.643370E-001 seconds 131 SQLDisconnect( hDbc=0:1 ) 132 ---> Time elapsed - +2.559000E-003 seconds 133 SQLDisconnect( ) 134 <--- SQL_SUCCESS Time elapsed - +8.253310E-001 seconds 135 SQLFreeHandle( fHandleType=SQL_HANDLE_DBC, hHandle=0:1 ) 136 ---> Time elapsed - +4.247000E-003 seconds 137 SQLFreeHandle( ) 138 <--- SQL_SUCCESS Time elapsed - +4.742000E-003 seconds 139 SQLFreeHandle( fHandleType=SQL_HANDLE_ENV, hHandle=0:1 ) 140 ---> Time elapsed - +2.023000E-003 seconds 141 SQLFreeHandle( ) 142 <--- SQL_SUCCESS Time elapsed - +4.420000E-003 seconds
マルチスレッド・アプリケーション、 またはマルチ・プロセス・アプリケーションでトレースが役立つようにするには、 TRACEPATHNAME キーワードを使用する必要があります。 このキーワードを使用しないと、 複数のスレッドやプロセスが同時に書き込まれた場合に、 トレースが混乱してしまいます。 詳細については、 TRACEPATHNAMEを参照してください。
これらのファイルは、 アプリケーションのプロセス ID と拡張子 (固有のスレッドごとの順序番号) から成る名前 (たとえば、65397.0, 65397.1, 65397.2 など) で指定されたパスに作成されます。
各スレッドがそれぞれ別々のファイルに書き込みを行うようにすると、 セマフォーでトレース・ファイルへのアクセスを制限する必要はなくなります。 つまり、トレースによってマルチスレッド・アプリケーションの動作が影響を受けることがなくなります。
ODBC ドライバー・マネージャーによる ODBC トレースと、DB2 CLI/ODBC ドライバーによるトレース (IBM ODBC ドライバーのトレース) の違いを理解しておくと、 役に立ちます。
出力ファイルの形式が違います。 ここで違う点は、ODBC トレースでは、 アプリケーションがドライバー・マネージャーに対して行った呼び出しを表示することです。 DB2 CLI トレースは、ODBC ドライバー・マネージャーから受け取った呼び出しを表示します。
ODBC ドライバー・マネージャーは、 アプリケーションの機能呼び出しを別の機能や別の引き数にマップしたり、 呼び出しを遅らせたりすることがあります。
以下の 1 つ以上が当てはまる場合があります。
このため、起こっている事柄を明確にするには、 両方のトレースの出力を使用可能にして、互いに比較する必要があります。
詳細については、 Microsoft ODBC 3.0 Software Development Kit and Programmer's Reference を参照してください。
トレース機能では、次の CLI/ODBC/JDBC 構成キーワードを使用します。
このオプションが (1) の場合、JDBC のトレース・レコードは、 JDBCTRACEPATHNAME 構成パラメーターが指示するサブディレクトリーのファイルに付加されます。
たとえば、トレースを入力するたびにディスクに書き込むように JDBC トレース・ファイルをセットアップするには、 次のようにします。
[COMMON] JDBCTRACE=1 JDBCTRACEPATHNAME=E:\JDBCTRACES\CLI JDBCTRACEFLUSH=1
(このオプションは、初期設定ファイルの共通セクションに含まれているため、DB2 へのすべての接続に当てはまります。)
このオプションを (JDBCTRACEFLUSH = 1) に設定すると、 トレースが入力されるたびに、ディスクに書き込みを行います。 このオプションを使用すると、トレース・プロセスの処理速度は下がりますが、 アプリケーションが次のステートメントを開始する前に、 それぞれの入力が必ずディスクに書き込まれます。
このオプションは、JDBCTRACE CLI/ODBC/JDBC オプションがオンになっている場合にのみ使用されます。 例として、JDBC TRACE オプションを参照してください。
このオプションは、初期設定ファイルの共通セクションに含まれているため、DB2 へのすべての接続に当てはまります。
同じ DLL や共用ライブラリーを使用する各スレッドやプロセスでは、 指定されたディレクトリーに別々の JDBC トレース・ファイルを作成します。
指定されたサブディレクトリーが無効な場合や、書き込みを行えない場合、 トレースは行われず、エラー・メッセージも返されません。
このオプションは、JDBCTRACE オプションがオンになっている場合にのみ使用されます。 CLI/ODBC/JDBC 構成ユーティリティーにこのオプションを設定すると、 これは自動的に行われます。
さまざまなトレースの設定を使用する例については、 JDBCTRACE オプションを参照してください。
JDBC トレースは、デバッグを目的とする場合にのみ使用してください。 そうしないと、JDBC ドライバーの実行速度は下がり、 長い間そのままにしておくと、トレース情報がかなり大きくなってしまう場合があります。
このオプションは、初期設定ファイルの共通セクションに含まれているため、DB2 へのすべての接続に当てはまります。
このオプションが (1) の場合、 CLI/ODBC/JDBC のトレース・レコードは、TRACEFILENAME 構成パラメーターが指示するファイルか、 TRACEPATHNAME 構成パラメーターが指示するサブディレクトリーのファイルに付加されます。
たとえば、トレースを入力するたびにディスクに書き込むように CLI/ODBC/JDBC トレース・ファイルをセットアップするには、 次のようにします。
[COMMON] TRACE=1 TRACEFILENAME=E:\TRACES\CLI\MONDAY.CLI TRACEFLUSH=1
(このオプションは、初期設定ファイルの共通セクションに含まれているため、DB2 へのすべての接続に当てはまります。)
TRACECOMM が (1) に設定されている場合、 各ネットワークの要求に関する情報はトレース・ファイルに組み込まれます。
このオプションは、TRACE CLI/ODBC/JDBC オプションがオンになっている場合にのみ使用されます。 例として、TRACE オプションを参照してください。
このオプションは、初期設定ファイルの共通セクションに含まれているため、DB2 へのすべての接続に当てはまります。
指定されたファイルが存在しない場合は、そのファイルが作成されます。 そうしないと、新しいトレース情報はファイルの最後に付加されます。
指定されたファイル名が無効な場合、 またはそのファイルを作成できないか、ファイルに書き込みができない場合は、 トレースは行われず、エラー・メッセージも返されません。
このオプションは、TRACE オプションがオンになっている場合にのみ使用されます。 CLI/ODBC/JDBC 構成ユーティリティーにこのオプションを設定すると、 これは自動的に行われます。
さまざまなトレースの設定を使用する例については、 TRACE オプションを参照してください。 このオプションが設定されている場合、TRACEPATHNAME オプションは無視されます。 マルチスレッド・アプリケーションには、TRACEFILENAME の代わりに TRACEPATHNAME を使用して、 スレッド情報を分離して保持するようにします。
CLI/ODBC/JDBC トレースは、デバッグを目的とする場合にのみ使用してください。 そうしないと、CLI/ODBC/JDBC ドライバーの実行速度は下がり、 長い間そのままにしておくと、トレース情報がかなり大きくなってしまう場合があります。
(このオプションは、初期設定ファイルの共通セクションに含まれているため、DB2 へのすべての接続に当てはまります。)
このオプションを (TRACEFLUSH = 1) に設定すると、 トレースが入力されるたびに、ディスクに書き込みを行います。 このオプションを使用すると、トレース・プロセスの処理速度は下がりますが、 アプリケーションが次のステートメントを開始する前に、 それぞれの入力が必ずディスクに書き込まれます。
このオプションは、TRACE CLI/ODBC/JDBC オプションがオンになっている場合にのみ使用されます。 例として、TRACE オプションを参照してください。
このオプションは、初期設定ファイルの共通セクションに含まれているため、DB2 へのすべての接続に当てはまります。
同じ DLL や共用ライブラリーを使用する各スレッドやプロセスでは、 指定されたディレクトリーに別々の CLI/ODBC/JDBC トレース・ファイルを作成します。
指定されたサブディレクトリーが無効な場合や、書き込みを行えない場合、 トレースは行われず、エラー・メッセージも返されません。
このオプションは、TRACE オプションがオンになっている場合にのみ使用されます。 CLI/ODBC/JDBC 構成ユーティリティーにこのオプションを設定すると、 これは自動的に行われます。
さまざまなトレースの設定を使用する例については、 TRACE オプションを参照してください。 CLI/ODBC/JDBC オプション TRACEFILENAME が使用されている場合、 このオプションは無視されます。
CLI/ODBC/JDBC トレースは、デバッグを目的とする場合にのみ使用してください。 そうしないと、CLI/ODBC/JDBC ドライバーの実行速度は下がり、 長い間そのままにしておくと、トレース情報がかなり大きくなってしまう場合があります。
このオプションは、初期設定ファイルの共通セクションに含まれているため、DB2 へのすべての接続に当てはまります。
このオプションは、TRACE オプションがオンになっている場合にのみ使用されます。 CLI/ODBC/JDBC 構成ユーティリティーにこのオプションを設定すると、 これは自動的に行われます。
CLI トレースでタイミング情報を各行に追加したい場合には、TRACETIMESTAMP を 1、2、または 3 に設定します。 TRACETIMESTAMP を 1 に設定すると、タイム・スタンプに続いて秒とミリ秒の単位の絶対時刻が提供されます。 TRACETIMESTAMP を 2 に設定すると、秒とミリ秒の単位の絶対時刻が提供されます。 TRACETIMESTAMP を 3 に設定すると、タイム・スタンプが提供されます。
このオプションは、TRACE オプションがオンになっている場合にのみ使用されます。 CLI/ODBC/JDBC 構成ユーティリティーにこのオプションを設定すると、 これは自動的に行われます。
CLI トレースでプロセスおよびスレッド ID を各行に追加したい場合には、TRACEPIDTID を 1 に設定します。