8.9.3 SQL実行時間警告情報ファイルの出力
(1) SQL実行時間警告情報ファイルの参照方法
SQL実行時間警告情報は,テキストエディタなどテキストファイルを参照できるソフトウェアで参照できます。
なお,HiRDB/パラレルサーバの場合は,警告対象となったSQLを発行するUAPが接続するフロントエンドサーバがあるサーバマシンに出力されます。
- 備考
-
-
使用中のSQL実行時間警告情報ファイルを知りたい場合,OSのコマンドなど(dirコマンドなど)でファイルの最終更新日時を調べてください。最終更新日時の新しいファイルが使用中のSQL実行時間警告情報ファイルです。
-
HiRDBを開始した後の出力先ファイルは,最終更新日時が新しいファイルになります。
-
SQL実行時間警告情報はファイルの最終位置から追加書きされるため,SQL実行時間警告情報はファイル内で時系列順に表示されます。
-
SQLの実行後,SQL実行時間警告情報ファイルはクローズされているため,SQLが実行されていないときにOSのコマンドを利用してバックアップを取得したり,ファイルを参照したりしても,書き込み中のファイルを使用することはありません。また,SQLの実行中であっても出力先でないファイルであれば,書き込み中のファイルを使用することはありません。
-
(2) SQL実行時間警告情報の出力形式
SQL実行時間警告情報の出力形式(符号なし整数でPDCWAITTIMEに対する比率を設定した場合,又は警告をファイルに出力する契機となる時間にautoを指定した場合)を次に示します。
** SQL CWAITTIME WARNING INFORMATION 07-01 2002/07/04 14:32:22 ** REASON(01) CWAITIME(600) CWAITTIME_WRN_PNT(70) CWAITTIME_WRN_TIME(420) * UAP INFORMATION * UAP_NAME(userprog1) CLTPID(408) IP_ADDR(196.12.42.146) SERVICE_NAME(service1) USERID(hiuser01) START_TIME(2002/07/03 20:24:42) * SERVER INFORMATION * HOST(host03) PORT(1146) SVRNAME(fes1) SVRPID(905) * SQL INFORMATION * OPTIMIZE_LEVEL(132768) ADDITIONAL_OPTIMIZE_LEVEL(3) ISOLATION_LEVEL(2) SQLOBJ_SIZE(2608) SQLCOUNT(1) CNCTNO SQL- OP SEC SQL SQL START-TIME END-TIME EXEC- COUNTER CODE NO CODE WARN TIME ---------- ---------- ---- ---- ----- ----- ------------------- -------- ----- 10 10 AUI2 1890 0 -0000 2002/07/04 14:32:22 14:39:30 428 * SQL MESSAGE * "*" [*] * SQL STATEMENT * DELETE FROM ZAIKO WHERE ZNO=1
SQL実行時間警告情報の出力形式(符号なし10進数でPDCWAITTIMEに対する比率を設定した場合,又は警告をファイルに出力する契機となる時間を設定した場合)を次に示します。
** SQL CWAITTIME WARNING INFORMATION 07-01 2002/07/04 14:32:22.100000 ** REASON(01) CWAITIME(600) CWAITTIME_WRN_PNT(70.001000) CWAITTIME_WRN_TIME(420.006000) * UAP INFORMATION * UAP_NAME(userprog1) CLTPID(408) IP_ADDR(196.12.42.146) SERVICE_NAME(service1) USERID(hiuser01) START_TIME(2002/07/03 20:24:42) * SERVER INFORMATION * HOST(host03) PORT(1146) SVRNAME(fes1) SVRPID(905) * SQL INFORMATION * OPTIMIZE_LEVEL(132768) ADDITIONAL_OPTIMIZE_LEVEL(3) ISOLATION_LEVEL(2) SQLOBJ_SIZE(2608) SQLCOUNT(1) CNCTNO SQL- OP SEC SQL SQL COUNTER CODE NO CODE WARN ---------- ---------- ---- ---- ----- ----- 10 10 AUI2 1890 0 -0000 START-TIME END-TIME EXEC-TIME -------------------------- --------------- ------------ 2002/07/04 14:32:22.122222 14:39:30.822223 428.700001 * SQL MESSAGE * "*" [*] * SQL STATEMENT * DELETE FROM ZAIKO WHERE ZNO=1
SQL実行時間警告情報の出力内容を次の表に示します。
出力項目 |
ヘッダ名 |
説明 |
最大出力 文字数 (バイト) |
出力可否 |
|
---|---|---|---|---|---|
条件1 |
条件2 |
||||
HiRDBのバージョン |
SQL CWAITTIME WARNING INFORMATION |
HiRDBのバージョンをVV-RR-ZZの形式で表示します。ZZがない場合はZZを表示しません。 |
8 |
○ |
○ |
出力日時 |
SQL実行時間警告情報ファイルの出力日時を次のどちらかの形式で表示します。 YYYY/MM/DD hh:mm:ss (YYYY:年,MM:月,DD:日,hh:時,mm:分,ss:秒) YYYY/MM/DD hh:mm:ss.uuuuuu (YYYY:年,MM:月,DD:日,hh:時,mm:分,ss:秒,uuuuuu:マイクロ秒) |
19又は26 |
○ |
○ |
|
理由コード |
REASON |
SQL実行時間警告情報ファイルの出力理由を表示します。
|
2 |
○ |
○ |
PDCWAITTIMEオペランドの値 |
CWAITIME |
クライアント環境定義のPDCWAITTIMEオペランドの値を表示します(単位:秒)。 |
5 |
○ |
○ |
オペランドに指定した比率,又は時間 |
CWAITTIME_ WRN_PNT |
PDCWAITTIMEWRNPNTオペランド又はpd_cwaittime_wrn_pntオペランドに指定した比率(単位:%),又は時間(単位:秒)を表示します。これらのオペランドの優先度に従い適用された値を表示します。 |
2又は12 |
○ |
○ |
警告時間 |
CWAITTIME_ WRN_TIME |
警告情報の出力条件となる時間※1を表示します(単位:秒)。 |
5又は12 |
○ |
○ |
UAP名称 |
UAP_NAME |
クライアント環境定義のPDCLTAPNAMEオペランドに指定したUAP名称を表示します。 |
30 |
○ |
○ |
プロセス番号 |
CLTPID |
クライアントのプロセス番号を表示します。Type4 JDBCドライバから接続している場合は,0が表示されます。 |
10 |
○ |
○ |
IPアドレス |
IP_ADDR |
UAPを実行したクライアントのIPアドレスを表示します。 |
15 |
○ |
○ |
サービス名称 |
SERVICE_ NAME |
UAPの種類によって,表示されるサービス名称が次のようになります。
|
31 |
△ |
△ |
認可識別子 |
USERID |
コネクトユーザ名を表示します。 |
30 |
○ |
○ |
UAP開始時間 |
START_TIME |
UAPの実行開始時刻をYYYY/MM/DD hh:mm:ssの形式で表示します(YYYY:年,MM:月,DD:日,hh:時,mm:分,ss:秒)。 |
19 |
○ |
○ |
ホスト名 |
HOST |
サーバプロセスが稼働しているホスト名を表示します。 |
30 |
○ |
○ |
ポート番号 |
PORT |
サーバプロセスの通信ポート番号を表示します。 |
5 |
○ |
△ |
サーバ名 |
SVRNAME |
サーバ名を表示します。HiRDB/シングルサーバの場合はシングルサーバ名を,HiRDB/パラレルサーバの場合はフロントエンドサーバ名を表示します。 |
8 |
○ |
○ |
プロセス番号 |
SVRPID |
サーバプロセスのプロセス番号を表示します。 |
10 |
○ |
○ |
SQL最適化オプション |
OPTIMIZE_ LEVEL |
SQL最適化オプションの値を10進形式で表示します。取得できない場合は*を表示します。 |
10 |
○ |
○ |
SQL拡張最適化オプション |
ADDITIONAL_ OPTIMIZE_LEVEL |
SQL拡張最適化オプションの値を10進形式で表示します。取得できない場合は*を表示します。 |
10 |
○ |
○ |
データ保証レベル |
ISOLATION_ LEVEL |
データ保証レベルの値を表示します。取得できない場合は*を表示します。 |
10 |
○ |
○ |
SQLオブジェクトのサイズ |
SQLOBJ_SIZE |
SQLオブジェクトのサイズ(単位:バイト)を表示します。取得できない場合は*を表示します。 |
10 |
△ |
× |
SQLの処理行数 |
SQLCOUNT |
SQLの処理行数(SELECT文で取り出した行数など)を表示します。取得できない場合は*を表示します。 出力内容については,マニュアル「HiRDB SQLリファレンス」のSQLERRDを参照してください。 |
10 |
△ |
× |
コネクト通番 |
CNCTNO |
サーバがCONNECTを受け付けるごとにカウントしている通番を表示します。 |
10 |
○ |
○ |
SQLカウンタ |
SQL-COUNTER |
SQL文を受け付けるごとにカウントしている通番を表示します。取得できない場合は*を表示します。 |
10 |
○ |
× |
オペレーションコード |
OP CODE |
SQLに対応するオペレーションコードを表示します。取得できない場合は*を表示します。 |
4 |
○ |
× |
セクション番号 |
SEC NO |
SQLに対応するセクション番号を表示します。取得できない場合は*を表示します。 |
4 |
△ |
× |
SQLCODE |
SQL CODE |
SQLを実行した結果のSQLCODEを表示します。取得できない場合は*を表示します。 |
5 |
○ |
× |
警告情報 |
SQL WARN |
警告情報を16進※2で表示します。取得できない場合は*を表示します。 |
5 |
○ |
× |
SQL開始時間 |
START-TIME |
クライアントからのSQLの実行要求を受け付けた日時を次のどちらかの形式で表示します。 YYYY/MM/DD hh:mm:ss (YYYY:年,MM:月,DD:日,hh:時,mm:分,ss:秒) YYYY/MM/DD hh:mm:ss.uuuuuu (YYYY:年,MM:月,DD:日,hh:時,mm:分,ss:秒,uuuuuu:マイクロ秒) 取得できない場合は*を表示します。 |
19又は26 |
○ |
△ |
SQL終了時間 |
END-TIME |
クライアントからの要求に対する処理が終了した時刻を次のどちらかの形式で表示します。 hh:mm:ss(hh:時,mm:分,ss:秒) hh:mm:ss.uuuuuu(hh:時,mm:分,ss:秒,uuuuuu:マイクロ秒) サーバプロセスが強制終了した場合は,処理を中断した時刻を表示します。 |
8又は15 |
○ |
○ |
SQL実行時間 |
EXEC-TIME |
クライアントからの要求に対する処理時間を表示します(単位:秒)。サーバプロセスが強制終了した場合は,処理を中断するまでの時間を表示します。取得できない場合は*を表示します。 |
5又は12 |
○ |
△ |
SQLメッセージ |
SQL MESSAGE |
SQLの実行中に出力されたメッセージを表示します。取得できない場合は*を表示します。 |
254 |
△ |
× |
[ ]内の情報はシステムの保守情報です。取得できない場合は*を表示します。 |
21 |
○ |
△ |
||
SQL文 |
SQL STATEMENT |
SQL文を表示します。SQL文中に注釈(コメント)や,SQL最適化指定をしている場合は,それらも含めて表示します。取得できない場合は*を表示します。 |
2,000,000 |
△ |
△ |
- (凡例)
-
条件1:SQLの実行時間が設定した時間以上になった場合
条件2:SQLの実行時間が設定した時間以上になる前にサーバプロセスが強制終了した場合
○:常に出力されます。
△:出力されないことがあります。
×:出力されません。
- 注※1
-
警告時間は次に示す計算式から求められます。
-
符号なし整数でPDCWAITTIMEに対する比率を設定した場合
警告時間=MAX(↓(a×b)÷100↓,1)
a:PDCWAITTIMEオペランドの値
b:PDCWAITTIMEWRNPNTオペランド又はpd_cwaittime_wrn_pntオペランドの値(これらのオペランドの優先度に従い適用された値が代入されます)
-
符号なし10進数でPDCWAITTIMEに対する比率を設定した場合
警告時間=(a×b)÷100
a:PDCWAITTIMEオペランドの値
b:PDCWAITTIMEWRNPNTオペランド又はpd_cwaittime_wrn_pntオペランドの値(これらのオペランドの優先度に従い適用された値が代入されます)
ただし,警告時間は小数第6位まで有効です。小数第7位以下は切り捨てられます。
-
警告をファイルに出力する契機となる時間を設定した場合
警告時間=警告をファイルに出力する契機となる時間の絶対値
-
- 注※2
-
SQLWARN0〜SQLWARNFの各警告情報の左から1ビットを割り当て,警告フラグが設定されているものは1,設定されていないものは0として16ビットの数値を求めます。この値を4けたの16進数値として表示します。一つ以上の警告フラグが設定されている場合は先頭にWを,警告フラグが設定されていない場合は−を表示します。
- (例1)警告情報の内容が次に示す場合は,WC040が表示されます。
- (例2)警告情報の内容が次に示す場合は,-0000が表示されます。