Hitachi

ノンストップデータベース HiRDB Version 9 コマンドリファレンス(Windows(R)用)


2.21.1 pdclttrcの形式と規則

〈この項の構成〉

(1) 機能

SQL実行中のクライアントの,SQLトレースを取得します。SQLトレースは,クライアントに出力されます。

SQLトレースを取得するサーバのサーバ名とプロセスIDは,pdls -d prcコマンドの実行結果の,クライアントのIPアドレス,UAPの識別情報から特定できます。

(2) 実行者

HiRDB管理者が実行できます。

(3) 形式

 pdclttrc 〔-s サーバ名〕 〔-p プロセスID〕 〔-e〕 〔-l PDUAPREPLVL指定値〕
 
     〔-m ?パラメタ及び検索データの最大データ長〕 
 
     〔-n 出力オペレーションコード数〕 〔-o SQLトレースファイルのサイズ〕

(4) オプション

(a) -s サーバ名 〜<識別子>((1〜8))

SQLトレースを取得するクライアントが接続している,サーバの名称を指定します。シングルサーバ又はフロントエンドサーバのサーバ名を指定してください。

このオプションを省略した場合,HiRDBのすべてのサーバ(シングルサーバ又はフロントエンドサーバ)に接続しているプロセスのSQLトレースを取得します。

シングルサーバの場合,不正なサーバ名を指定してもエラーにはなりません。

(b) -p プロセスID 〜<符号なし整数>((1〜10))

SQLトレースを取得するクライアントが接続している,サーバのプロセスIDを指定します。

HiRDB/パラレルサーバの場合,必ず-sオプションと同時に指定してください。HiRDB/シングルサーバの場合,-sオプションの指定は任意です。

このオプションを省略した場合,シングルサーバ又はフロントエンドサーバに接続しているすべてのプロセスのSQLトレースを取得します。

(c) -e

SQLトレースの取得を停止します。

<規則>
  1. 既に接続が切断されていたり,-nオプションの指定値に達してSQLトレースの取得が停止したりしている状態で,このオプションを指定してもエラーにはなりません。

  2. このオプションだけ指定した場合,HiRDBのすべてのサーバ(シングルサーバ又はフロントエンドサーバ)に接続しているプロセスのSQLトレース取得を停止します。

  3. 同時に-sオプションを指定した場合,指定したサーバに接続しているすべてのプロセスのSQLトレース取得を停止します。

  4. 同時に-pオプションを指定した場合,指定したプロセスのSQLトレース取得を停止します。

  5. クライアント側への停止要求は次回SQLで実行されます。その間に内部的なオペレーションが実行された場合,-eオプションで停止した後もSQLトレースに情報が出力されることがあります。内部的なオペレーションについては,「DAT形式ファイルのレコード形式」のオペレーションコードを参照してください。

(d) -l PDUAPREPLVL指定値

このオプションは,SQLトレース情報以外に,UAP統計レポート情報も出力する場合に指定します。UAP統計レポートの出力情報(クライアント環境定義PDUAPREPLVLの指定値)を指定します。指定値,情報の出力先などについては,マニュアル「HiRDB Version 9 UAP開発ガイド」を参照してください。

プロセス間メモリ通信機能を使用している場合,このオプションを指定しても無視されます。このとき,プロセス間メモリ通信中のメッセージが出力されます。

-eオプションと同時に指定した場合,このオプションの指定は無効となります。

(e) -m ?パラメタ及び検索データの最大データ長 〜<符号なし整数>((4〜32008))

SQLトレースに出力する?パラメタ情報,及び検索データの最大データ長を,バイト単位で指定します。

このオプションは,クライアント環境定義PDPRMTRCにINOUTを指定した場合と同じ機能になります。

-eオプションと同時に指定した場合,このオプションの指定は無効となります。

(f) -n 出力オペレーションコード数 〜<符号なし整数>((0〜10000))《0》

SQLトレースファイルに出力するオペレーションコード数を指定します。指定したオペレーションコード数分情報を出力した場合,SQLトレース取得は停止します。

このオプションを省略した場合,-eオプション指定のpdclttrcコマンドを実行するまで,又はDISCONNECTされるまでSQLトレースを出力します。

-eオプションと同時に指定した場合,このオプションの指定は無効となります。

(g) -o SQLトレースファイルのサイズ 〜<符号なし整数>((0,4096〜2000000000))《32768》

SQLトレースファイルのサイズをバイト単位で指定します。

0を指定した場合,ファイルの最大サイズとなります。

-eオプションと同時に指定した場合,このオプションの指定は無効となります。

(5) 規則

  1. pdclttrcコマンドは,HiRDBが稼働中のときだけ実行できます。

  2. pdclttrcコマンドは,シングルサーバ又はシステムマネジャがあるサーバマシンで実行してください。

  3. pdclttrcコマンドは,接続しているクライアントのバージョンが07-01以降の場合に,SQLトレースを取得します。

  4. SQLトレースの取得は,pdclttrcコマンド実行時に処理中のSQLから取得を開始します。ただし,SQLトレース取得開始時に処理中のSQLについては,次の情報は出力されません。

    • SQL開始時刻

    • クライアント環境定義PDSQLEXECTIME=YES指定時に出力されるSQL実行時間

    • UAP統計レポートに出力されるSQL単位情報のSQL実行時間と差分情報

  5. SQLトレースファイル及びUAP統計レポートは,クライアント環境定義PDCLTPATHの指定ディレクトリに出力します。PDCLTPATHを省略している場合は,UAP実行時のカレントディレクトリに出力します。

    ただし,-lオプション指定時にクライアント環境定義PDREPPATHが指定されている場合は,PDREPPATHの指定ディレクトリに出力されます。

    -lオプション指定時のSQLトレースファイルの出力先を次に示します。

    PDCLTPATHの指定

    PDREPPATHの指定

    SQLトレースファイルの出力先

    なし

    なし

    カレントディレクトリ

    あり

    なし

    PDCLTPATHの指定ディレクトリ

    なし

    あり

    PDREPPATHの指定ディレクトリ

    あり

    あり

  6. -lオプションを指定した場合,UAP単位の情報はコマンド開始からの情報であるため,コマンド実行以前の情報については出力されません。

  7. このコマンド実行時のファイル名称については,マニュアル「HiRDB Version 9 UAP開発ガイド」の「SQLトレース機能」を参照してください。

  8. クライアント側で既にSQLトレースが取得されている場合,pdclttrcコマンドを実行しても無効となります。

  9. pdclttrcコマンド実行中に再度pdclttrcコマンドを実行した場合,現在SQLトレースを取得しているプロセスについては,取得中である旨のメッセージが出力されます。

  10. このコマンドで取得するSQLトレースの出力形式は,クライアント環境変数PDSQLTRCFMTの指定値に従います。PDSQLTRCFMT省略時は出力形式2で出力します。

(6) 注意事項

  1. 通信エラーやDISCONNECTなどで接続が切断された場合,又は-nオプションで指定したオペレーションコード数分SQLトレースを出力した場合,自動的にSQLトレースの取得を停止します。

  2. pdclttrcコマンドのリターンコードを次に示します。

    0:正常終了

    8:エラー終了