SQL_SNAPの指定方法は、以下の2通りの方法があります。アプリケーションの実行環境に合わせ、適切な方法でSQL_SNAPを採取してください。
クライアント用の動作環境ファイルに指定する方法
環境変数に指定する方法
クライアント用の動作環境ファイルによる指定
クライアント用の動作環境ファイルとは、環境変数SQLRTENVで指定したファイルで、アプリケーションの実行時の設定が定義されているファイルです。SQL_SNAPを採取する場合、以下のパラメタを追加します。
SQL_SNAP=(出力モード[,ファイル名][,出力レベル][,繰返し指定])
パラメタの意味
出力モード
取得するスナップの種類を指定します。
ON:スナップを取得します。
OFF:スナップを取得しません。
ファイル名
スナップ情報を出力するファイル名を指定します。ファイル名を省略した場合、アプリケーションのファイル名の拡張子を「snp」に変更して出力します。また、ファイル名にディレクトリが指定されていない場合は、カレントディレクトリに出力します。
出力レベル
出力する情報のレベルを指定します。レベルには以下の値が指定できます。省略した場合は、2が指定されたとみなします。
1,2,PRC1,PRC2
繰返し指定
1つのSQL文の情報を1として、出力する情報の繰返し幅を1~32767で指定します。繰返し幅が指定された場合は、その幅でサイクリックに出力します。省略した場合は、すべての情報を出力します。
出力モードと出力レベルの組み合わせにより、出力される情報が異なります。
出力される情報については、以下の表1、表2を参照してください。
| 出力レベル | ||||
---|---|---|---|---|---|
1 | 2 | PRC1 | PRC2 | ||
出力モード | ON | (1) | (2) | (3) | (4) |
OFF | (5) | (5) | (5) | (5) |
| 出力モードとレベルの組み合わせ(注) | |||||
---|---|---|---|---|---|---|
(1) | (2) | (3) | (4) | (5) | ||
出力する情報 | アプリケーション名 | ○ | ○ | ○ | ○ | - |
SQL文 | ○ | ○ | ○ | ○ | - | |
カーソル情報 | ○ | ○ | ○ | ○ | - | |
ホスト変数情報 | - | ○ | - | ○ | - | |
SQLSTATE | ○ | ○ | ○ | ○ | - | |
SQL文の処理時間 | ○ | ○ | ○ | ○ | - | |
メッセージ | ○ | ○ | ○ | ○ | - | |
通信プロトコル情報 | - | - | - | - | - |
注意
出力モードとレベルの組み合わせについては、表1を参照してください。
/tmp配下に、通信情報を含めてスナップファイル(snap.txt)を出力します。
SQL_SNAP=(ON, /tmp/snap.txt )
同じアプリケーションを複数実行している場合、例1)の方法では、1つのファイルにすべての情報が出力されてしまいます。そこで、各実行単位でスナップを採取する場合は出力レベルにPRC1またはPRC2を指定します。
/tmp配下に、スナップファイル(snap.txt)を出力します。
SQL_SNAP=(ON, /tmp/snap.txt)
PRC1またはPRC2を指定した場合、出力されるファイル名は以下のようになります。
/tmp/snap_scl_xxxx_YYYYMMDDhhmmss.txt xxxxプロセスID YYYYMMDD年月日 hhmmss時分秒
常駐型のアプリケーションなど、現象が再現するまでに多数のSQL文を実行しなければならない場合、例1)の方法だとスナップファイルが膨大になってしまうこともあります。この場合、繰返し指定を指定することで出力するSQL文の数を制限します。
/tmp配下に、SQL文の数が100個のスナップファイル(snap.txt)を出力します。
SQL_SNAP=(ON, /tmp/snap.txt, ,100 )
環境変数による指定
クライアント用の動作環境ファイルを使用していない場合や、修正したくない場合などは環境変数RDBTRCに以下のパラメタを指定します。
RDBTRC=出力レベル,ファイル名[,繰返し指定]
パラメタの意味
出力レベル
出力する情報のレベルを指定します。レベルには以下の値が指定できます。
1
2
PRC1
PRC2
ファイル名
スナップ情報を出力するファイル名を指定します。ファイル名を省略した場合は、アプリケーションのファイル名の拡張子を「snp」に変更して出力します。また、ファイル名にディレクトリが指定されていない場合は、カレントディレクトリに出力します。
繰返し指定
1つのSQL文の情報を1として、出力する情報の繰返し幅を1~32767で指定します。繰返し幅が指定された場合は、その幅でサイクリックに出力します。省略した場合は、すべての情報を出力します。
出力レベルにより、出力される情報が異なります。
出力される情報については、以下の表1を参照してください。
| 出力レベル | ||||
---|---|---|---|---|---|
1 | 2 | PRC1 | PRC2 | ||
出力する情報 | アプリケーション名 | ○ | ○ | ○ | ○ |
SQL文 | ○ | ○ | ○ | ○ | |
カーソル情報 | ○ | ○ | ○ | ○ | |
ホスト変数情報 | - | ○ | - | ○ | |
SQLSTATE | ○ | ○ | ○ | ○ | |
SQL文の処理時間 | ○ | ○ | ○ | ○ | |
メッセージ | ○ | ○ | ○ | ○ | |
通信プロトコル情報 | - | - | - | - |
/tmp配下に、通信情報を含めてスナップファイル(snap.txt)を出力します。
Cシェルの場合
setenv RDBTRC,/tmp/snap.txt