4.9.2 DABrokerトレース出力ユティリティの実行
DABrokerトレース出力ユティリティでは,次の二つのトレースを出力できます。
-
DABrokerとクライアント間のデータの送受信に関する情報(通信トレース)を出力します。通信トレースはクライアントからの要求受付直後,及びDABrokerからの結果送信直後にDABrokerが取得します。出力されたトレースは,DABroker運用ディレクトリ¥spool¥dabcltrcの下に格納されます。
-
DABrokerがデータベースに要求した処理,及びその処理に対するデータベースからの応答(アクセストレース)を表示します。アクセストレースは,DBMSに要求を出す直前及びDBMSから応答が返ってきた直後に,DABrokerが取得します。出力されたトレースは,DABroker運用ディレクトリ¥spool¥db_accessの下に格納されます。
また,DABrokerでは,拡張データベースアクセストレース機能でデータベースアクセストレースを出力することもできます。拡張データベースアクセストレース機能の詳細については,「6.5.2 拡張データベースアクセストレース機能」を参照してください。
(1) 操作できるユーザとユティリティの起動・終了方法
- 操作できるユーザ
-
すべてのユーザがDABrokerトレース出力ユティリティを実行できます。
- ユティリティの起動と終了方法
-
- 起動
-
DABrokerトレース出力ユティリティは,プログラムフォルダに登録された[DABroker]から[トレース出力]を選択して起動します。DABroker起動中に実行してください。
起動すると次のダイアログが表示されます。
- 終了
-
[DABrokerトレース出力]ダイアログボックスを閉じるとDABrokerトレース出力ユティリティは終了します。
(2) クライアントとの通信トレースの出力方法
[DABrokerトレース出力]ユティリティを起動して表示されたダイアログで,次に示す手順を実行してください。
-
[通信トレースを出力する]チェックボックスをチェックする。
-
取得する通信トレースを指定する。
-
すべての通信トレースを取得する場合
[IPアドレスまたはホスト名]を空白にしてください。
-
特定のIPアドレスまたはホスト名の通信トレースを取得する
[IPアドレスまたはホスト名]に通信トレースを出力するIPアドレス又はホスト名を指定してください。
-
-
通信トレースの出力先を指定する。
[出力先]ボタンをクリックすると,出力先のファイルを指定するダイアログボックスが表示されます。出力先のファイルを指定します。省略した場合は,DABroker運用ディレクトリ\spool\DABTT.TXTに通信トレースが出力されます。
-
[実行]ボタンを選択する。
[実行]ボタンを選択すると指定した出力先に通信トレースが出力されます。
なお,データベースアクセストレースの出力設定(設定方法は,「4.9.2(3) データベースアクセストレースの出力方法」参照)もしてから[実行]ボタンを押すと,両方のトレースが出力できます。
- 出力例
-
IPADDR=XXXXXXXX
クライアントのIPアドレス又はホスト名。
-
PROT=XXX
通信プロトコル。TCP:TCP/IP。
-
PAP-NAME=XXXXXX
次のどれかが表示されます。
-
DABroker関連製品を使用した場合:アプリケーションで設定した名称
-
DBPARTNER/Client又はDBPARTNER/Webからアクセスした場合:
DBPARTNER/Client又はDBPARTNER/Webの識別情報
-
DBPARTNER Mobileからアクセスした場合:クライアント識別情報
-
DBPARTNER Libraryからアクセスした場合:DBPARTNER Libraryの識別情報
-
XDM/RD外部表としてアクセスした場合:XDM/RDの識別情報
-
-
DATE
送受信の発生日付(年/月/日)。
-
TIME
送受信の発生時刻(時:分:秒.n)。nはn/100秒を表します。
-
EVT
DABrokerでの事象区分。
-
PUT:クライアントへの送信
-
GET:クライアントからの受信
-
-
SIZE
送受信データ長(バイト)。
-
DATA
送受信データ種別。
aa…aa <bb…bb>(cc…cc,dd…dd)の形式で出力されます。
-
aa…aa:オペレーション種別
表示されるオペレーション種別とその意味について,次に示します。
オペレーション種別
意 味
Connect(Database)
データベースとの接続要求
Disconnect(Database)
データベースとの切り離し要求
Disconnect(Connection)
コネクションの解放要求
Commit
トランザクションのコミット要求
Rollback
トランザクションのロールバック要求
LIST(Table)
表一覧取得要求
LIST(Column)
列一覧取得要求
LIST(Index)
索引一覧取得要求
LIST(Table Privileges)
表権限一覧取得要求
LIST(Column Privileges)
列権限一覧取得要求
LIST(Inquiry)
予約完了状況一覧取得要求
EXT-CMD
SQL文の実行要求
SQL Fetch Option
SQL実行オプション実行
File Delete
SQL実行結果格納ファイル削除
Save
データベースへの表の保存要求
Reserve
予約処理要求
Reserve Delete
予約処理結果の削除要求
Agent(Register)
エージェントの登録要求
Agent(Delete Registration)
エージェントの削除要求
Agent(List Prepare Registration)
エージェントの登録情報の取得準備要求
Agent(List Fetch Registration)
エージェントの登録情報の取得継続要求
Agent(List Close Registration)
エージェントの登録情報取得後の処理要求
Agent(Execute)
エージェントの実行要求
Agent(List Prepare Execution)
エージェントの実行状況の取得準備要求
Agent(List Fetch Execution)
エージェントの実行状況の取得継続要求
Agent(List Close Execution)
エージェントの実行状況取得後の処理要求
Agent(Get Prepare Result)
エージェント実行結果の取得準備要求
Agent(Get Fetch Result)
エージェント実行結果の取得継続要求
Agent(Get Close Result)
エージェント実行結果の取得後の処理要求
Agent(Delete Result)
エージェントの実行結果の削除要求
Agent(Option)
エージェントのオプション実行要求
Agent(Execute Direct Prepare)
エージェントの即時配信実行準備要求
Agent(Execute Direct Fetch)
エージェントの即時配信実行継続要求
Agent(Execute Direct Close)
エージェントの即時配信実行後処理要求
Cancel
DBMSに対する処理の中断要求
Illegal Request
不正要求
Connection
コネクション確立応答
Result
正常応答
Error
異常応答
Result(Cancel)
正常応答(DBMSに対する処理の中断要求時)
Error(Cancel)
異常応答(DBMSに対する処理の中断要求時)
Procedure(List Prepare Procedure)
ストアドプロシジャ一覧取得準備要求
Procedure(List Fetch Procedure)
ストアドプロシジャ一覧取得要求
Procedure(List Close Procedure)
ストアドプロシジャ一覧取得後の処理要求
Procedure(List Prepare Column)
ストアドプロシジャ列一覧取得準備要求
Procedure(List Fetch Column)
ストアドプロシジャ列一覧取得要求
Procedure(List Close Column)
ストアドプロシジャ列一覧取得後の処理要求
Procedure(Parameter Get)
ストアドプロシジャ定義情報取得要求
Procedure(Prepare)
ストアドプロシジャ実行準備要求
Procedure(Execute)
ストアドプロシジャ実行要求
Procedure(Extended Execute)
ストアドプロシジャ拡張実行要求
AUTO Commit OFF
トランザクションのAUTO COMMITモード解除要求
AUTO Commit ON
トランザクションのAUTO COMMITモード設定要求
-
bb…bb:付加情報。
オペレーション種別が,LIST(xxxxx)及びEXT-CMDの場合に表示されます。
-
cc…cc:リターンコード。
-
dd…dd:詳細コード。
-
- 注意事項
-
クライアントからの要求量が多いほど,クライアントとの通信トレースのファイル容量も多くなります。通信トレースのファイル容量の目安として,概算式を次に示します。
- (概算式)
-
80(ヘッダ情報長) + クライアントからの要求数 * 2 (PUT及びGET分) * 36(PUT及びGET情報長)〔バイト〕
あらかじめ,この概算式で計算したサイズ以上のハードディスク容量を用意しておいてください。また,クライアントからの要求量が多いほど,トレース出力が終わるまで時間がかかります。御注意ください。
(3) データベースアクセストレースの出力方法
[DABrokerトレース出力]ユティリティを起動して表示されたダイアログで,次に示す手順を実行してください。
-
[アクセストレースを出力する]チェックボックスをチェックする。
-
取得するアクセストレースを指定する。
-
すべてのアクセストレースを取得する場合
[UAP名],[ユーザID]を空白にしてください。
-
特定のアプリケーションのアクセストレースを取得する
[UAP名]にアクセストレースを出力するUAP名を指定してください。
指定できる文字列は次のとおりです。
アプリケーションの種類
指定する名称
DABroker関連製品で開発したアプリケーションからアクセスする場合
アプリケーションで設定した名称
(各DABroker関連マニュアル参照)
DBPARTNER/Client又は
DBPARTNER/Webからアクセスする場合
DBPARTNER/Client又はDBPARTNER/Webの識別情報
エージェント処理を実行した場合
エージェント実行名(16バイトの固定文字列)
-
特定のユーザIDのアクセストレースを取得する場合
[ユーザID]にアクセストレースを出力するユーザIDを指定してください。
-
特定のクライアントの特定のユーザIDのアクセストレースを取得する場合
[UAP名]にアクセストレースを出力するUAP名を指定し,[ユーザID]にアクセストレースを出力するユーザIDを指定してください。
-
-
アクセストレースの出力先を指定する。
[出力先]ボタンをクリックすると,出力先のファイルを指定するダイアログボックスが表示されます。出力先のファイルを指定します。省略した場合は,DABroker運用ディレクトリ\spool\DABDT.TXTにアクセストレースが出力されます。
-
[実行]ボタンを選択する。
[実行]ボタンを選択すると指定した出力先にアクセストレースが出力されます。
すべてのクライアントから要求されたデータベースアクセストレースを出力します。
- 出力例
-
UID=XXXXXXXX
ユーザID。
-
PAPNAME=XXXXXXX
アプリケーションを識別するための文字列が表示されます。表示される文字列は,[UAP名]で指定できる名称です。
-
DBNAME=XXXXXXX
接続先データベース名。次のどれかが出力されます。
-
HiRDB:HiRDB
-
ORACLE7:Oracle9i,Oracle10g,Oracle11g,もしくはOracle12cでOracle Call Interface 7を使用している場合,又はOracle19cでOracle Call Interface 8iを使用している場合。
-
ORACLE8i:Oracle10g,Oracle11g,Oracle12c,又はOracle19cでOracle Call Interface 8iを使用している場合。
-
SQLAnywhere:SQL Anywhere
-
ODBC3.0:Adaptive Server Anywhere,SQL Server
-
RDA_Link_GW:RDA Link for Gateway
-
DBCSV:Database Connection Server
-
-
DATE
アクセスの発生日(年/月/日)。
-
TIME
アクセスの発生時刻(時:分:秒.n)。nはn/100秒を表します。
-
EVT
DABrokerがデータベースに要求した処理の内容。次のどれかが表示されます。
EVTの表示
処 理 内 容
CONNECT
データベースと接続します
PREPARE
SQLの前処理をします
DESCRIBE
前処理したSQLの情報を返します
DECLARE
前処理したSELECTに対してカーソルを宣言します
OPEN
カーソルを位置付けます
FETCH
行を読み込んでカーソルを進めます
CLOSE
カーソルを閉じます
EXECUTE
前処理したSQLを実行します
COMMIT
トランザクションを正常終了,更新を有効にします
ROLLBACK
トランザクションを取り消し,更新を無効にします
DISCONNECT
トランザクションを正常終了,切り離します
CANCEL
DBMSに対し,処理の中断します
LOGGING
DBMSに対し,ログ取得要求します
ただし,DBMSがHiRDBの場合だけです
LOGLESS
DBMSに対し,ログレス要求します
ただし,DBMSがHiRDBの場合だけです
AUTOCOMOFF
トランザクションのAUTO COMMITモードを解除します
AUTOCOMON
トランザクションのAUTO COMMITモードを設定します
データベースアクセストレースの取得内容は任意に選択できます。環境設定ユティリティの[アクセストレースの種類]で選択します。アクセストレースの種類については,「4.5.1(9) データベースアクセストレースの取得(DABSQL_TRCSIZE)」を参照してください。
-
RETCODE
DABrokerが要求した処理に対して,DBMSから返されるリターンコード。
-
0:正常終了。
-
0以外:異常終了又はメッセージ付きの正常終了。
DABrokerからDBMSへの要求の送信を表示している行は,RETCODEは空白になります。
RDA Link for Gatewayの場合は,RETCODEは空白になります。
-
-
INFORMATION
FETCH時の行取得要求数及び取得結果の情報。
ORACLE又はRDA Link for Gatewayの場合は,「BLOCK COUNT(XXX)」の形式で出力されます。
-
(SQL)
クライアントから要求のあったSQLの内容。この項目は,必要に応じて表示されます。
SQL Anywhere,Adaptive Server Anywhere,又はSQL Server使用時,EVTがPREPAREの場合は,次の情報が出力されます。
表示内容
説明
(SQL) ODBC:{SQLTables}
テーブル一覧情報
(SQL) ODBC:{SQLColums}
カラム一覧情報
(SQL) ODBC:{SQLTablePrivileges}
テーブル権限一覧情報
(SQL) ODBC:{SQLColumnPrivileges}
カラム権限一覧情報
(SQL) ODBC:{SQLStatistics}
インデクス一覧情報
(SQL) ODBC:{SQLProcedures}
プロシジャ一覧情報
(SQL) ODBC:{SQLProcedureColumns}
プロシジャ列一覧情報
(SQL) ODBC:{SQLPrimaryKeys}
プライマリキー一覧情報
Database Connection Server使用時,EVTがPREPAREの場合は次の情報が出力されます。
表示内容
説明
(SQL) DBCSV:{SQLTable}
テーブル一覧情報
(SQL) DBCSV:{SQLColumns}
カラム一覧情報
(SQL) DBCSV:{SQLTablePrivileges}
テーブル権限一覧情報
(SQL) DBCSV:{SQLColumnsPrivileges}
カラム権限一覧情報
(SQL) DBCSV:{SQLStatistics}
インデクス一覧情報
(SQL) DBCSV:{ProcedureList}※
外部プロシジャ一覧
(SQL) DBCSV:{ProcedureColumns}※
外部プロシジャ列一覧
- 注※
-
Database Connection Server経由でXDM/RDの外部プロシジャ機能を使用している場合に出力されます。
- 注意事項
-
クライアントからの要求量(SQL文)が多いほど,データベースアクセストレースのファイル容量も多くなります。トレースは,1レコード80バイトで表示されます。クライアントからの要求(SQL文)が多い場合は,折り返して表示します。データベースアクセストレースのファイル容量の目安として,概算式を次に示します。
(概算式)
{(クライアントからの要求(SQL長など)* 2) + 2 [ +↓(クライアントからの要求SQL長/73)↓-1] } * 80〔バイト〕
注 下線は,SQL長が73バイト以上の場合です。
あらかじめ,この概算式で計算したサイズ以上のハードディスク容量を用意しておいてください。また,クライアントからの要求量が多いほど,トレース表示が終わるまで時間がかかります。御注意ください。