Hitachi

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


8.9.2 SQL実行時間警告出力機能の使用方法

SQL実行時間警告出力機能を使用する場合は次に示すことをしてください。

〈この項の構成〉

(1) PDCWAITTIMEの指定

クライアント環境定義のPDCWAITTIMEにクライアントの最大待ち時間を指定してください。PDCWAITTIMEに0を指定するか又は省略した場合,そのHiRDBクライアントから実行されるSQLについてはSQL実行時間警告出力機能が適用されません。

ただし,PDCWAITTIMEWRNPNT,又はpd_cwaittime_wrn_pntオペランドに「秒数sec,auto」を指定した場合は,PDCWAITTIMEオペランドを省略したときでもSQL実行時間警告出力機能が適用されます。

PDCWAITTIMEについては,マニュアル「HiRDB UAP開発ガイド」を参照してください。

(2) PDCWAITTIMEに対する比率の指定,又は警告をファイルに出力する契機となる時間の指定

警告情報を出力する条件を次に示すオペランドで指定します。

(a) PDCWAITTIMEに対する比率の指定

PDCWAITTIMEWRNPNT及びpd_cwaittime_wrn_pntオペランドでPDCWAITTIMEに対する比率(0%〜100%未満)を指定します。例えば,PDCWAITTIMEに100(秒)を指定し,PDCWAITTIMEWRNPNT又はpd_cwaittime_wrn_pntオペランドに90(%)を指定すると,SQLの実行後にHiRDBがSQLの実行時間を調べます。その結果,SQLの実行時間が90秒以上100秒未満の場合に警告情報が出力されます。

符号なし整数,又は符号なし10進数(小数点を含む数,小数第6位まで)で指定できます。

(b) 警告をファイルに出力する契機となる時間の指定

上記のオペランドでSQL実行時間の警告を出力する契機となる時間を,0からPDCWAITTIMEの設定値未満で指定します。

なお,PDCWAITTIMEWRNPNTの設定値にPDCWAITTIMEの指定値より大きな時間を設定した場合には,CONNECT要求時にエラーになります。

注意事項
  • pd_cwaittime_wrn_pntオペランドの指定よりもPDCWAITTIMEWRNPNTの指定の方が優先されます。

  • PDCWAITTIMEWRNPNTに0%を指定した場合,そのHiRDBクライアントから実行されるSQLについてはSQL実行時間警告出力機能が適用されません。

参考

警告時間は,前記に示すオペランドの値から次に示す計算式を使用してHiRDBが決定します。

  • 符号なし整数で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位以下は切り捨てられます。

  • 警告をファイルに出力する契機となる時間を設定した場合

    警告時間=警告をファイルに出力する契機となる時間の絶対値

なお,HiRDBサーバ内部で使用するタイマの精度がプラットフォームに依存するため,タイマの精度が低い場合,実際のSQLの実行時間が警告時間を超えても警告情報が出力されないことがあります。

(3) SQL実行時間警告情報ファイルの出力先ディレクトリの指定

SQL実行時間警告情報ファイルの出力先ディレクトリをpd_cwaittime_report_dirオペランドに指定します。このディレクトリ下に二つのファイル(pdcwwrn1及びpdcwwrn2)を作成します。

なお,SQL実行時間警告情報ファイルへの出力時に,ファイルシステム障害,ディレクトリ又はファイルへの書き込み権限がないなどのエラーをOSが検知すると,SQL実行時間警告情報ファイルへの出力を行いません。この場合でもSQLの実行処理は継続されます。

(4) SQL実行時間警告情報ファイルの最大容量の指定

SQL実行時間警告情報ファイルの最大容量を変更する場合にpd_cwaittime_report_sizeオペランドを指定します。このオペランドに指定した値はSQL実行時間警告情報ファイル一つ分の容量です。SQL実行時間警告情報ファイルは二つ作成されるため,指定値に注意してください。例えば,10000を指定すると,ディレクトリ下に最大10000バイトのファイルが二つ作成されます。

備考
  • ファイルへの出力容量がこのオペランドの値を超えた場合,出力先をもう片方のファイルに切り替えます。これを繰り返して二つのファイルを交互に使用します。このとき,切り替え先の古い情報は削除されます。

  • 1回で出力するSQL実行時間警告情報の大きさがファイル容量を超えた場合,SQL実行時間警告情報をすべて出力しません。ファイル容量までのSQL実行時間警告情報を出力します。この場合,SQL実行時間警告情報の最後に#を付加します。