5.2 外部サーバエラー情報

ここでは,外部サーバエラー情報について説明します。

<この節の構成>
(1) 外部サーバエラー情報とは
(2) 外部サーバエラー情報の取得方法
(3) 外部サーバエラー情報の見方

(1) 外部サーバエラー情報とは

外部サーバエラー情報とは,外部サーバでエラーが発生したときのエラー情報です。UAPでは,外部サーバでエラーが発生したときエラーメッセージ情報は75バイトまでしか取得できません。したがって,それ以上の長さのメッセージが出力されたとき,エラーの原因調査で参考になります。

(2) 外部サーバエラー情報の取得方法

外部サーバエラー情報ファイルを取得するためには,外部サーバ情報定義でpd_hb_e_modeオペランドを省略するか,pd_hb_e_modeオペランドにALLを指定する必要があります。

pd_hb_e_modeオペランドを設定すると,%PDDIR%¥spool¥に次の二つのファイルが作成されます。これが外部サーバエラー情報ファイルです。

  pdhe外部サーバ名1,pdhe外部サーバ名2

外部サーバエラー情報は,外部サーバに対するSQLがエラー(エラーのSQLコード)が返ってきた場合,外部サーバに対する処理要求時に出力されます。また,外部サーバ情報定義のpd_hb_e_codeオペランドを設定すると,指定したSQLコードのエラーメッセージの出力抑止を行うことができます。

外部サーバエラー情報は,一方のファイルに出力されます。最初の出力先は,pdhe外部サーバ名1です。そして,そのファイルの容量が満杯になると,出力先をもう一方のファイルに切り替えます。このとき,切り替え先のファイルに情報が格納されている場合,古いトレース情報から順に新しいトレース情報に書き換えられます。必要な情報はバックアップを取得しておいてください。

また,現在使用している外部サーバエラー情報ファイルを知りたい場合は,OSのls -lコマンドなどでファイルの更新日時を調べてください。更新日時が新しいファイルが現在使用している外部エラー情報ファイルです。

外部サーバエラー情報は,pdgeterコマンドの取得情報の対象になります。

(3) 外部サーバエラー情報の見方

外部サーバエラー情報の内容について例を使用して説明します。出力例を次の図に,図中の出力情報の説明を表5-4に示します。

図5-1 外部サーバエラー情報の出力例

[図データ]

 

外部サーバに対する処理要求ごとに項番3~15が繰り返し出力されます。

表5-4 外部サーバエラー情報の出力情報

項番分類項目説明
1外部サーバ定義外部サーバ名称データベースアクセス要求を行った外部サーバの名称です。「FOREIGN SERVER NAME:」のあとに出力されます。
2外部サーバ種別データベースアクセス要求を行った外部サーバの種別を表示します。「KIND:」のあとに,次の情報のどれかが出力されます。
 P: HiRDB
 R: XDM/RD
 O: ORACLE
 I:DB2
3UAP
動作情報
BESのプロセスIDデータベースアクセス要求を行った外部サーバを登録しているBESのプロセスIDが出力されます。
4FES名称※1SQLオブジェクト実行を行ったSQLを受け付けたFESの名称が出力されます。
5FESのプロセスID※2SQLオブジェクト実行を行ったSQLを受け付けたFESのプロセスIDが出力されます。
6コネクト通番※2コネクト通番が出力されます。これは,FESがCONNECTを受け付けるごとに順次カウントされます。
7スレッド番号データベースアクセス要求を行った外部サーバを登録しているBESのスレッド番号が出力されます。
8SQL情報SQLカウンタ※2SQLを受け付けるごとに順次カウントされる値が,出力されます。1から999,999までの値が使用され, 999,999を超えると1に戻ります。
9セクション番号※2SQLトレースのセクション番号と対応する番号が出力されます。
10サブセクション番号※2SQLの対応を確認するための番号が出力されます。
11コールインタフェース情報外部サーバに対するコールインタフェース名コールインタフェース名称(外部サーバがHiRDBのときはキーワードだけ)が出力されます。
12結果SQLコードSQLCODE値が出力されます。
13外部サーバでのエラー発生日時エラーが発生した日時が,YYYY/MM/DD HH:MM:SS形式で表示されます。
14外部サーバに対するコールインタフェース情報コールインタフェースで指定したパラメタ情報が表示されます。
15外部サーバエラーメッセージ外部サーバから取得したメッセージが表示されます。メッセージの上限は512バイトです。
注※1
バックエンドサーバプロセス起動時に外部サーバに接続してエラーが発生した場合には,この項目は表示されません。
注※2
バックエンドサーバプロセス起動時に外部サーバに接続してエラーが発生した場合には,この項目には0が表示されます。