スケーラブルデータベースサーバ HiRDB Version 8 コマンドリファレンス(UNIX(R)用)

[目次][索引][前へ][次へ]

pdclttrcSQLトレースの動的取得

機能

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

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

実行者

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

形式

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

オプション

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

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

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

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

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

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

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

<規則>
  1. 既に接続が切断されていたり,-nオプションの指定値に達してSQLトレースの取得が停止したりしている状態で,このオプションを指定してもエラーにはなりません。
  2. このオプションだけ指定した場合,HiRDBのすべてのサーバ(シングルサーバ又はフロントエンドサーバ)に接続しているプロセスのSQLトレース取得を停止します。
  3. 同時に-sオプションを指定した場合,指定したサーバに接続しているすべてのプロセスのSQLトレース取得を停止します。
  4. 同時に-pオプションを指定した場合,指定したプロセスのSQLトレース取得を停止します。
  5. クライアント側への停止要求は次回SQLで実行されます。その間に内部的なオペレーションが実行された場合,-eオプションで停止した後もSQLトレースに情報が出力されることがあります。内部的なオペレーションについては,「14.4.3 DAT形式ファイルのレコード形式」のオペレーションコードを参照してください。

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

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

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

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

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

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

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

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

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

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

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

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

規則

  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. 出力されるSQLトレースファイル名は,pdxxxxxxxxyyyyyyyyyy-1.trc及びpdxxxxxxxxyyyyyyyyyy-2.trcとなります。
    xxxxxxxx:サーバ名(8文字以内)
    yyyyyyyyyy:サーバプロセスID(10進数10けた以内)
  8. クライアント側で既にSQLトレースが取得されている場合,pdclttrcコマンドを実行しても無効となります。
  9. pdclttrcコマンド実行中に再度pdclttrcコマンドを実行した場合,現在SQLトレースを取得しているプロセスについては,取得中である旨のメッセージが出力されます。

注意事項

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