WORK:
7 運用
7.4 XDB トレース情報の取得
7.4.1 XDB トレース情報とは
例えば,svrxdb001,svrxdb002,svrxdb003という三つの
XDB
トレース情報ファイル がある場合,svrxdb001がいっぱいになったら,svrxdb002にXDB
トレース情報を出力 します。svrxdb002がいっぱいになったら,svrxdb003に出力します。そして,svrxdb003
がいっぱいになった場合,先頭に戻ってsvrxdb001
にXDB
トレース情報を 出力します(svrxdb001を上書きします)。なお,XDBトレース情報ファイルの
1
ファイルの容量は,XDBサービス定義のxdb_trace_file_size
オペランドで指定します。(3) XDB トレース情報ファイルのバックアップ
XDB
トレース情報ファイルの出力先が切り替わったとき(スワップしたとき)に,KFSB85400-I
メッセージが出力されます。このメッセージが出力されたときに,スワッ プ元のXDB
トレース情報ファイルのバックアップを取得することをお勧めします。なお,現用の
XDB
トレース情報ファイル(XDBトレース情報が出力されているXDB
トレース情報ファイル)のバックアップを取得すると,XDBトレース情報が正しく表示 されないことがあります。そのため,現用のXDB
トレース情報ファイルのバックアップ は取得しないでください。また,現用の
XDB
トレース情報ファイルを移動または削除しないでください。7.4.2 XDB トレース情報を取得するための準備
XDB
トレース情報を取得する場合は,次に示す準備作業が必要になります。• 取得する情報を選択する
• 出力される
XDB
トレース情報量を見積もる(1) 取得する情報の選択
XDB
トレース情報を取得するには,XDBサービス定義のxdb_trace_out
オペランドにY
を指定します。また,次に示すオペランドで取得する情報を選択します。•
xdb_sql_trace_out=Y
SQL
トレース情報およびSQL
単位情報を取得する場合に指定します。•
xdb_sql_param_trace=IN,OUT,または INOUT
パラメタトレース情報を取得する場合に指定します。•
xdb_sql_accesspath_out=Y
アクセスパス情報を取得する場合に指定します。
(2) XDB トレース情報量の見積もり
XDB
トレース情報量が決まります。XDBルの
1
ファイルの容量と世代数を決めてください。1ファイルの容量はxdb_trace_file_size
オペランドに,世代数はxdb_trace_file_number
オペランドに指定 します。計算式
変数の説明
a:TP1/EE
のユーザサービス関連定義のservice
オペランドに指定したサービス名 の数n:XDB
トレース情報を取得するトランザクション数T:トランザクションごとの XDB
トレース情報の容量(計算式を次に示します)各情報の容量計算式は,(a)以降で説明しています。
(a)SQLトレース情報の容量見積もり
SQL
トレース情報の容量見積もり式を次に示します。計算式
変数の説明
a:オペレーション実行回数 n:SQL
の発行回数■オペレーション実行回数の数え方
該当するトランザクション内のオペレーション実行回数を数えてください。
• 検索系
SQL
の場合:SQL発行回数1
に対して,FETCH回数+3
回と数え ます。• 更新系
SQL
の場合:SQL発行回数1
に対して,2回と数えます。■
SQL
の発行回数の数え方該当するトランザクション内の
SQL
発行回数を数えてください。SQLトレース情報の容量+SQL単位情報の容量+パラメタトレース情報の容量+アクセスパス情報の容 量
検索系
SQL
の場合:• カーソルを使用した検索では,カーソルオープンからカーソルクローズまで を
1
回と数えます。•
1
行SELECT
文は発行のたびに1
回と数えます。更新系
SQL
の場合:•
INSERT
文,UPDATE文,DELETE文は,発行のたびに1
回と数えます。(b)
SQL
単位情報の容量見積もりSQL
単位情報の容量見積もり式を次に示します。計算式
変数の説明
a:オペレーション実行回数 n:SQL
の発行回数(c) パラメタトレース情報の容量見積もり
パラメタトレース情報の容量見積もり式を次に示します。
計算式
変数の説明
a:SQL
の発行回数b:1SQL
中の入力データ数c:FETCH
実行回数d:1SQL
中の検索データ数変数情報量:計算式を次に示します。
(d) アクセスパス情報の容量見積もり
アクセスパス情報の容量見積もり式を次に示します。
計算式
注※
SQL
のテキスト長は,xdb_sql_accesspath_out=Y,xdb_sql_trace_out=Nの場合に 加算します。変数の説明
n:SQL
の発行回数1SQL
ごとのアクセスパス情報量:計算式を次に示します。7.4.3 XDB トレース情報の表示方法
XDB
トレース情報は,次に示すどれかのコマンドで表示できます。•
eexdbed
コマンド•
eexdbdump
コマンド•
eetrbtbldump
コマンド(1) eexdbed コマンドで表示する場合
XDB
トレース情報ファイルを入力情報にしてeexdbed
コマンドを実行すると,XDBト レース情報を表示できます。表示形式については,「10.運用コマンド」の「eexdbed(XDBトレース情報の表示)」を参照してください。
なお,直近の
XDB
トレース情報を表示したい場合は,eexdbfputコマンドを実行して,バッファ上にある
XDB
トレース情報をXDB
トレース情報ファイルに出力してくださ い。そのあとで,eexdbedコマンドを実行してください。1300×SQL中に指定した表の数+130×WHERE句に指定した述語の数+1600
参考
出力されたXDBトレース情報は,いったんバッファ上に格納されます。バッファがいっぱ いになったときに,バッファ上のXDBトレース情報がXDBトレース情報ファイルに出力 されます。そのため,eexdbfputコマンドを実行しないと,XDBトレース情報ファイルに直 近のXDBトレース情報が格納されません。
なお,このときに使用するバッファの大きさは,XDBサービス定義の xdb_trace_buffer_sizeオペランドで指定できます。
(2) eexdbdump コマンドで表示する場合
XDB
のプロセスダウンが発生した場合,TP1/EEはコアダンプをコアファイルに出力し ます。このコアファイルを入力情報にしてeexdbdump
コマンドを実行すると,XDBト レース情報を表示できます。表示形式は,eexdbedコマンドと同じです。表示形式については,「10.運用コマンド」
の「eexdbed(XDBトレース情報の表示)」を参照してください。