Hitachi

ノンストップデータベース HiRDB Version 9 システム運用ガイド(UNIX(R)用)


8.9.3 SQL実行時間警告情報ファイルの出力

〈この項の構成〉

(1) SQL実行時間警告情報ファイルの参照方法

SQL実行時間警告情報は,テキストエディタなどテキストファイルを参照できるソフトウェアで参照できます。

なお,HiRDB/パラレルサーバの場合は,警告対象となったSQLを発行するUAPが接続するフロントエンドサーバがあるサーバマシンに出力されます。

備考
  • 使用中のSQL実行時間警告情報ファイルを知りたい場合,OSのコマンドなど(lsコマンドなど)でファイルの最終更新日時を調べてください。最終更新日時の新しいファイルが使用中の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実行時間警告情報の出力内容を次の表に示します。

表8‒9 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実行時間警告情報ファイルの出力理由を表示します。

  • 00:UAPの強制終了などでサーバプロセスが強制終了しました。

  • 01: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の種類によって,表示されるサービス名称が次のようになります。

  • OpenTP1のUAPの場合

    OpenTP1のSUP(サービス利用プログラム)がSPP(サービス提供プログラム)に要求したサービスの場合,又はTP1/Message ControlがMHP(メッセージ処理プログラム)に要求したサービスの場合は,該当するサービス名称を表示します。

    上記以外の場合は,*を表示します。

  • OpenTP1の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 Version 9 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が表示されます。

[図データ]