付録A.1 DABrokerの起動中に使用できるユティリティ
(1) DABroker管理ユティリティ
DABroker管理ユティリティの機能,操作できるユーザ,各機能を使用する場合の操作手順について説明します。
(a) 機能
DABroker管理ユティリティには次の二つの機能があります。
- DABrokerの動作状態の表示
- 各EURとの接続時間の状態を表示します。
- EURの処理の中断
- 指定したEURとの接続を解放し,実行中の処理を中断します。この場合,DABrokerはリレーショナルデータベースに要求した処理のロールバックを要求します。
(b) 操作できるユーザ
すべてのユーザが管理ユティリティを実行できます。ただし,特定のクライアントの処理を中断できるのは,Windowsの管理者グループまたはAdministratorsグループに属するユーザだけです。
(c) DABrokerの動作状態を表示する操作手順
DABrokerの動作状態を表示する手順を次に示します。
- DABrokerが起動していることを確認する
- プログラムフォルダに登録された[DABroker]から[DABroker管理]を選択する
DABroker管理ユティリティが起動し,[DABroker管理]に動作状態が表示されます。
をクリックすると,最新の動作状態に表示が更新されます。
図A-1 [DABroker管理]ダイアログ
![[図データ]](figure/zu99c040.gif)
[DABroker管理]ダイアログに表示される項目の意味は次のとおりです。
- 識別子
- DABrokerに接続されているクライアント処理を識別するための番号です。
- IPアドレス
- 接続しているEURがあるマシンのIPアドレス
- 接続時刻
- EURと接続した日時(年/月/日 時:分:秒)
- 接続時間
- 接続してからの経過時間(時:分:秒)
- 予約
- 実行中の予約処理数(EURでは使用しません)
- 状態
- EURとの接続状態
- 「接続中」と表示されている場合は,EURとのコネクションが確立されていることを示します。
- ホスト名
- 接続しているEURがあるマシンのホスト名
- 次の条件をすべて満たしている場合に表示されます。
- ・[リモートアクセス設定]タブで「IPアドレスからホスト名へ変換する」をチェックしている場合
- ・次のフォルダのhostsファイルに各クライアントのホスト名を登録している場合
- [Windowsをインストールしたフォルダ]¥SYSTEM32¥DRIVERS¥ETC
- なお,ホスト名の長さによっては,途中までしか表示されない場合があります。
- DABrokerの動作状態の確認が済んだら,[DABroker管理]ダイアログを閉じ,DABroker管理ユティリティを終了させる
(d) EURの処理を中断する操作手順
特定のEURの処理を中断する手順を次に示します。
- DABrokerが起動していることを確認する
- プログラムフォルダに登録された[DABroker]から[DABroker管理]を選択する
DABroker管理ユティリティが起動し,[DABroker管理]ダイアログに動作状態が表示されます。
- [DABroker管理]ダイアログで処理を中断するEURを選択し,
をクリックする
確認のダイアログが表示されます。
- [はい]を選択する
DABrokerは選択したクライアントとのコネクションを解放します。同時にリレーショナルデータベースに処理のロールバックを要求します。
(2) DABrokerトレース出力ユティリティ
DABrokerトレース出力ユティリティの機能,操作できるユーザ,各機能を使用する場合の操作手順について説明します。
(a) 機能
DABrokerトレース出力ユティリティでは,次の2種類のトレースを出力できます。
- 通信トレース
- 通信トレースとは,DABrokerとEUR間のデータの送受信についての情報です。DABrokerがこの情報を取得するのは,クライアントからの要求受け付け直後,およびDABrokerからの結果送信直後です。通信トレースは,「DABroker運用ディレクトリ¥spool¥dabcltrc」の下に出力されます。
- アクセストレース
- アクセストレースとは,DABrokerがリレーショナルデータベースに要求した処理,およびその処理に対するリレーショナルデータベースからの応答についての情報です。DABrokerがこの情報を出力するのは,リレーショナルデータベースに要求を出す直前およびリレーショナルデータベースから応答が返ってきた直後です。リレーショナルデータベースとのアクセストレースは,「DABroker運用ディレクトリ」¥spool¥db_accessの下に出力されます。
(b) 操作できるユーザ
すべてのユーザがDABrokerトレース出力ユティリティを実行できます。
(c) トレースを出力する操作手順
通信トレース,およびリレーショナルデータベースとのアクセストレースを出力する操作手順を次に示します。
- プログラムフォルダに登録された[DABroker]から[トレース出力]を選択する
DABrokerトレース出力ユティリティが起動し,[DABrokerトレース出力]ダイアログが表示されます。
図A-2 [DABrokerトレース出力]ダイアログ
![[図データ]](figure/zu99c060.gif)
- 通信トレースを出力する場合の操作
1.[通信トレースを出力する]チェックボックスをチェックする
2.[IPアドレスまたはホスト名]を設定する
すべての通信トレースを出力する場合は,[IPアドレスまたはホスト名]に何も指定しないでください。特定のIPアドレスまたはホスト名の通信トレースを出力する場合,[IPアドレスまたはホスト名]に,通信トレースを出力するIPアドレスまたはホスト名を指定してください。
3.通信トレースの出力先を指定する
[出力先]ボタンをクリックすると,出力先を指定するダイアログが表示されます。出力先のファイル名を指定してください。省略した場合は,[DABroker運用ディレクトリ]¥spool¥DABTT.TXTに出力されます。
- アクセストレースを出力する場合の操作
1.[アクセストレースを出力する]チェックボックスをチェックする
2.[UAP名],[ユーザID]を設定する
すべてのアクセストレースを出力する場合は,[UAP名],[ユーザID]に何も指定しないでください。
特定のリレーショナルデータベースへログインするユーザIDのアクセストレースを出力する場合は,[ユーザID]にリレーショナルデータベースへログインするためのユーザIDを指定してください。
[UAP名]は使用しません。
3.アクセストレースの出力先を指定する
[出力先]ボタンをクリックすると,出力先を指定するダイアログが表示されます。出力先のファイル名を指定してください。省略した場合は,[DABroker運用ディレクトリ]¥spool¥DABDT.TXTに出力されます。
- 「通信トレースを出力する場合の操作」,「アクセストレースを出力する場合の操作」が済んだら,[実行]ボタンを選択する
指定した出力先が登録されます。
なお,「通信トレースを出力する場合の操作」および「アクセストレースを出力する場合の操作」の両方をすると,2種類のトレースが出力できます。
(d) トレース出力内容
通信トレースおよびアクセストレースの出力例と,出力される項目の意味について説明します。
- 通信トレースの場合
IPADDR=xx.xx.1.10 PROT=TCP PAP-NAME=DBPARTNER2 Runtime 00000a0c
DATE TIME EVT SIZE DATA
2008/09/02 15:23:28.98 PUT 164 Connection(0,0)
2008/09/02 15:23:28.98 GET 148 Connect(Database)
2008/09/02 15:23:29.18 PUT 64 Result(0,0)
2008/09/02 15:23:29.18 GET 187 EXT-CMD <Prepare>
2008/09/02 15:23:29.18 PUT 461 Result(0,0) |
- IPADDR=XXXXXXXX
- EURのあるマシンのIPアドレスまたはホスト名
- PROT=XXX
- 通信プロトコル
- TCP:TCP/IP
- PAP-NAME=XXXXXX
- UAP名
- 帳票定義:「DBPODBC」+「IPアドレス」
- 帳票出力:「DBPARTNER2 Runtime」+「実行プロセスID」
- DATE
- 送受信の発生日付(年/月/日)
- TIME
- 送受信の発生時刻(時:分:秒.n)
- nは100分の1秒を表します。
- EVT
- DABrokerでの事象区分
- ・PUT:リレーショナルデータベースからEURへの送信
- ・GET:EURからリレーショナルデータベースへの受信
- SIZE
- 送受信データ長(単位:バイト)
- DATA
- 送受信データ種別
- aa…aa <bb…bb>(cc…cc,dd…dd)の形式で出力されます。
- ・aa…aa:オペレーション種別※
- ・bb…bb:付加情報
- オペレーション種別が,LIST(xxxxx)およびEXT-CMDの場合に表示されます。
- ・cc…cc:リターンコード
- ・dd…dd:詳細コード
- 注※
- 表示されるオペレーション種別の意味を次の表に示します。
表A-1 オペレーション種別の意味
オペレーション種別 | 意味 |
---|
Connect(Database) | データベースとの接続要求 |
Disconnect(Database) | データベースとの切り離し要求 |
Disconnect(Connection) | コネクションの解放要求 |
Commit | トランザクションのコミット要求 |
Rollback | トランザクションのロールバック要求 |
LIST(Table) | 表一覧取得要求 |
LIST(Column) | 列一覧取得要求 |
LIST(Index) | 索引一覧取得要求 |
LIST(Table Privileges) | 表権限一覧取得要求 |
LIST(Column Privileges) | 列権限一覧取得要求 |
EXT-CMD | SQL文の実行要求 |
SQL Fetch Option | SQL実行オプション実行 |
File Delete | SQL実行結果格納ファイル削除 |
Save | データベースへの表の保存要求 |
Cancel | リレーショナルデータベースに対する処理の中断要求 |
Illegal Request | 不正要求 |
Connection | コネクション確立応答 |
Result | 正常応答 |
Error | 異常応答 |
Result(Cancel) | 正常応答(リレーショナルデータベースに対する処理の中断要求時) |
Error(Cancel) | 異常応答(リレーショナルデータベースに対する処理の中断要求時) |
その他 | 説明省略 |
- 注意
- クライアントからの要求量が多いほど,クライアントとの通信トレースのファイル容量も多くなります。通信トレースのファイル容量の目安として,概算式を次に示します。
- 通信トレースのファイル容量(単位:バイト)=80(ヘッダ情報長) + クライアントからの要求数 * 2 (PUTおよびGET分) * 36(PUTおよびGET情報長)
- あらかじめ,この概算式で計算したサイズ以上のハードディスク容量を用意しておいてください。また,クライアントからの要求量が多いほど,トレース出力が終わるまで時間が掛かります。ご注意ください。
- アクセストレースの場合
UID=EUR PAPNAME=DBPARTNER2 Runtime 00000a0c DBNAME=HiRDB
DATE TIME EVT RETCODE INFORMATION
2008/09/02 15:23:28.98 CONNECT
2008/09/02 15:23:29.18 CONNECT 0
2008/09/02 15:23:29.18 PREPARE
(SQL) SELECT "地区コード","商品コード","性別","天気","年齢","年月","売上数","単
価","売上金額" FROM "EUR"."ZAIKO"
2008/09/02 15:23:29.18 PREPARE 0
2008/09/02 15:23:29.18 DESCRIBE
2008/09/02 15:23:29.18 DESCRIBE 0
2008/09/02 15:23:29.18 DESCRIBE
2008/09/02 15:23:29.18 DESCRIBE 0
2008/09/02 15:23:29.18 DESCRIBE
2008/09/02 15:23:29.18 DESCRIBE 0
2008/09/02 15:23:29.19 OPEN
2008/09/02 15:23:29.19 OPEN 0
2008/09/02 15:23:29.19 FETCH BLOCK COUNT(1)
2008/09/02 15:23:29.19 FETCH 0 BLOCK COUNT(1) |
- UID=XXXXXXXX
- ユーザID
- PAPNAME=XXXXXXX
- UAP名
- 帳票定義:「DBPODBC」+「IPアドレス」
- 帳票出力:「DBPARTNER2 Runtime」+「実行プロセスID」
- DBNAME=XXXXXXX
- 接続先データベース名
- 次のどれかが出力されます。
- ・HiRDB:HiRDBの場合です。
- ・Oracle7:Oracleの場合です。使用するOracleのバージョンに依存しません。
- ・ODBC3.0:Microsoft SQL Serverの場合です。
- DATE
- アクセスの発生日(年/月/日)
- TIME
- アクセスの発生時刻(時:分:秒.n)
- nは100分の1秒を表します。
- EVT
- DABrokerがデータベースに要求した処理の内容
- EVTの表示と対応する処理内容を次の表に示します。
表A-2 EVTの表示と処理内容(DABrokerトレース出力ユティリティ)
EVTの表示 | 処理内容 |
---|
CONNECT | データベースと接続します。 |
PREPARE | SQLの前処理をします。 |
DESCRIBE | 前処理したSQLの情報を返します。 |
DECLARE | 前処理したSELECTに対してカーソルを宣言します。 |
OPEN | カーソルを位置づけます。 |
FETCH | 行を読み込んでカーソルを進めます。 |
CLOSE | カーソルを閉じます。 |
EXECUTE | 前処理したSQLを実行します。 |
COMMIT | トランザクションを正常終了し,更新を有効にします。 |
ROLLBACK | トランザクションを取り消し,更新を無効にします。 |
DISCONNECT | トランザクションを正常終了し,切り離します。 |
CANCEL | リレーショナルデータベースに対し,処理の中断をします。 |
LOGGING | リレーショナルデータベースに対し,ログ取得要求します。ただし,HiRDBの場合だけです。 |
LOGLESS | リレーショナルデータベースに対し,ログレス要求します。ただし,HiRDBの場合だけです。 |
その他 | 説明省略 |
- データベースとのアクセストレースの取得内容は任意に選択できます。環境設定ユティリティの[アクセストレースの種類]で選択します。
- RETCODE
- DABrokerが要求した処理に対して,リレーショナルデータベースから返されるリターンコード。
- ・0:正常終了
- ・0以外:異常終了またはメッセージ付きの正常終了
- DABrokerからリレーショナルデータベースへの要求の送信を表示している行は,RETCODEは空白になります。
- INFORMATION
- FETCH時の行取得要求数および取得結果の情報
- SQL
- クライアントから要求のあったSQLの内容
- この項目は,Microsoft SQL Server使用時にEVTがPREPAREの場合にだけ出力されます。表示内容と意味を次の表に示します。
表A-3 「SQL」への表示内容と意味
表示内容 | 意味 |
---|
(SQL) ODBC:{SQLTables} | テーブル一覧情報 |
(SQL) ODBC:{SQLColumns } | カラム一覧情報 |
(SQL) ODBC:{SQLTablePrivileges} | テーブル権限一覧情報 |
(SQL) ODBC:{SQLColumnPrivileges} | カラム権限一覧情報 |
(SQL) ODBC:{SQLStatistics} | インデックス一覧情報 |
(SQL) ODBC:{SQLPrimaryKeys} | プライマリキー一覧情報 |
- 注意
- クライアントからの要求量(SQL文)が多いほど,アクセストレースのファイル容量も多くなります。トレースは,1レコード80バイトで表示されます。クライアントからの要求(SQL文)が多い場合は,折り返して表示します。アクセストレースのファイル容量の目安として,概算式を次に示します。
- アクセストレースのファイル容量(バイト)={(クライアントからの要求(SQL長など)* 2) + 2 [ +↓(クライアントからの要求SQL長/73)↓-1] } * 80
- 注
- 下線は,SQL長が73バイト以上の場合です。
- あらかじめ,この概算式で計算したサイズ以上のハードディスク容量を用意しておいてください。また,クライアントからの要求量が多いほど,トレース表示が終わるまで時間が掛かります。
(3) 拡張データベースアクセストレースユーティリティ
拡張データベースアクセストレースは,次のような場合に有効です。
- データベースのアクセス中に障害が発生した時など,迅速に障害を切り分ける必要がある場合
- 24時間稼働などのため,稼働中のアプリケーションを終了させないで障害を調査する必要がある場合
- 障害の再現調査ができないため,常時トレースを取得する必要がある場合
ここでは,拡張データベースアクセストレースユティリティの機能,拡張データベースアクセストレースの取得方法,ファイル出力形式,ファイル名称および注意事項について説明します。
(a) 機能
拡張データベースアクセストレースでは,従来のDABrokerのアクセストレースに比べて,次の機能が拡張されています。
- データベースへの接続ごと(接続から切断まで)にトレースを取得できます。
- データベース接続中でも,トレースファイルの参照やコピーができます。
- DABroker動作環境定義ファイルの設定によって,出力するイベントの種類を選択できます。
- DABroker動作環境定義ファイルの設定によって,ファイルの最大容量を設定できます。トレース情報が最大容量を超える場合,最大2世代で取得ファイルを切り替えてトレースを取得できます。
(b) 拡張データベースアクセストレースの取得方法
拡張データベースアクセストレースの取得は,DABroker動作環境定義ファイルで設定します。DABroker動作環境定義ファイルでの設定方法については,マニュアル「DABroker」を参照してください。
(c) ファイル出力形式
拡張データベースアクセストレースのファイル出力形式を次に示します。
- ヘッダ情報
*-------------------------------------------------------*
*- DataBase Access Information (DRV) -*
*- Date YYYY/MM/DD hh:mm:ss.nnnnnn -*
*-------------------------------------------------------*
DABroker Connect ID : AAAAA(BBBBB)
Process ID : CCCCC
UserID : DDDDD
Client Name : EEEEE
(DB別出力情報)
Lang Mode : GGGGG
- 個々のトレース情報
THREAD-ID CID EVT START-TIME END-TIME RETCODE
BLOCKCNT (SQL)
それぞれの出力項目について,次に説明します。
- DRV
- DABrokerのアクセスドライバの種別に従い,次の識別子が出力されます。
表A-4 アクセスドライバの種別と識別子
アクセスドライバの種別 | 識別子 |
---|
HiRDB | HiRDB Driver |
Oracle | ORACLE7 Driver |
Microsoft SQL Server | ODBC30 |
- Date
- ファイル作成日時
- YYYY/MM/DD hh:mm:ss.nnnnnnの形式で出力されます。
- YYYY:西暦年
- MM:月
- DD:日
- hh:時
- mm:分
- ss:秒
- nnnnnn:マイクロ秒
- DABroker Connect ID
- データベース接続識別子が出力されます。
- Process ID
- 実行プロセスIDが出力されます。
- UserID
- 接続ユーザIDが出力されます。
- Client Name
- UAP名称が出力されます。
- 帳票定義:「DBPODBC」+「IPアドレス」
- 帳票出力:「DBPARTNER2 Runtime」+「実行プロセスID」
- (DB別出力情報)
- 接続データベースによって異なる情報が出力されます。出力内容について次の表に示します。
表A-5 接続データベースごとのトレース出力内容
接続データベース | 出力内容 | 説明 |
---|
HiRDB | PDHOST: | HiRDB接続時のPDHOSTの設定内容です。未設定の場合は,"Not Indicator"が出力されます。 |
PDNAMEPORT: | HiRDB接続時のPDNAMEPORTの設定内容です。未設定の場合は,"Not Indicator"が出力されます。 |
Oracle | SQLNET: | Oracleサービス(リスナー)名が出力されます。未設定の場合は,"Not Indicator"が出力されます。 |
Microsoft SQL Server | ODBC Dara Sourcs: | ODBC設定のデータソース名が出力されます。未設定の場合は,"Not Indicator"が出力されます。 |
ODBC Key Word: | ODBC設定の接続情報が出力されます。未設定の場合は,"Not Indicator"が出力されます。 |
- Lang Mode
- 実行言語モードが出力されます。
- THREAD-ID
- 実行スレッドIDが出力されます。
- CID
- カーソル番号が出力されます。
- EVT
- DABrokerがデータベースに要求した処理の内容です。内容の種類は任意に選択できます。拡張データベースアクセストレースで表示の種類を変更すると,従来のアクセストレース表示の種類も変更されます。
- すべての表示をOFFにした場合はヘッダだけが出力されます。
- 従来のアクセストレースにはないEVTの表示とその処理内容を次に示します。表示を一つでもONにした場合,GET_DIAGの表示を抑止できません。
表A-6 EVTの表示と処理の内容(拡張データベースアクセストレースユティリティ)
EVTの表示 | 処理内容 |
---|
DESC_OUT | 前処理したSQLの出力情報を返します。 |
DESC_IN | 前処理したSQLの入力情報を返します。 |
GET_DIAG | エラー詳細情報の取得処理を実行します。 |
BIND | パラメタのバインド要求を実行します。 |
DEFINE | パラメタの定義要求を実行します。 |
DESALLOC | 記述子の領域確保を実行します。 |
DESFREE | 記述子の領域解放を実行します。 |
ERRGET | エラー情報取得要求を実行します。 |
HDLALLOC | ハンドルの領域確保を実行します。 |
HEDLFREE | ハンドルの領域解放を実行します。 |
その他 | 省略 |
- START-TIME
- アクセス開始日時
- YYYY/MM/DD hh:mm:ss.nnnnnnの形式で出力されます。
- YYYY:西暦年
- MM:月
- DD:日
- hh:時
- mm:分
- ss:秒
- nnnnnn:マイクロ秒
- END-TIME
- アクセス終了日時
- YYYY/MM/DD hh:mm:ss.nnnnnnの形式で出力されます。
- YYYY:西暦年
- MM:月
- DD:日
- hh:時
- mm:分
- ss:秒
- nnnnnn:マイクロ秒
- RETCODE
- データベースから返されるリターンコードが出力されます。
- BLOCKCNT
- FETCH時の行取得件数が出力されます。
- (SQL)
- クライアントから要求のあったSQLの内容が出力されます。この項目は,必要に応じて出力されます。
(d) ファイル名称
拡張データベースアクセストレースのファイルは,次のディレクトリに作成されます。
DABroker運用ディレクトリ¥spool¥db_access
拡張データベースアクセストレースのファイル名称は,次の規則に従います。
spdb_XXXXXXXX_YYYYYYYY_****ZZZZZ.IIIIII
- XXXXXXXX:実行プロセスID※1
- YYYYYYYY:データベース接続識別子
- ****:接続データベース名称※2
- ZZZZZ:識別順序番号
- IIIIII:ファイル拡張子
- log:最新のトレースファイル
- logold:1世代前のトレースファイル
- 注※1
- 同じプロセスIDで,かつ同じデータベース接続識別子のファイルがある場合に,00000から32767までの番号を付けます。
- 注※2
- 接続データベースの名称とその識別子を次に示します。
表A-7 接続データベース名称と識別子
接続データベース名称 | 識別子 |
---|
HiRDB | HiRDB Driver |
Oracle | ORACLE7 Driver |
Microsoft SQL Server | ODBC30 |
- 注意
- 拡張データベースアクセストレースのファイルを運用する際には,次の点に注意してください。
- 拡張データベースアクセストレースは,出力した行数がDABroker動作環境定義ファイルでの設定行数を超えると,現在のトレースファイルがバックアップファイルとして別名で保存されます。トレース内容は,トレースファイルの先頭から再び出力されます。
- バックアップファイルは1世代前までしか残しません。このため,現在のトレースファイルが設定した行数を超えると,既存のバックアップファイルは上書きされます。既存のバックアップファイルを保存する必要がある場合は,上書きされる前に別のディレクトリに退避してください。
- トレースファイルは実行しているコネクションの数だけ作成されます。
- トレースファイルは自動的に削除されません。ユーザが不要になった時点で削除してください。
- ハードディスクの空き容量が不十分な場合,トレースの出力が停止されることがあります。
(4) DABrokerメッセージログビューア
DABrokerメッセージログビューアの機能,操作できるユーザ,DABrokerのログを表示する操作手順について説明します。
(a) 機能
DABrokerのログファイルの出力内容を参照できます。
(b) 操作できるユーザ
すべてのユーザがDABrokerトレース出力ユティリティを実行できます。
(c) DABrokerのログを表示する操作手順
DABrokerのログを表示する操作手順を次に示します。
- プログラムフォルダに登録された[DABroker]から[メッセージログビューア]を選択する
DABrokerメッセージログビューアが起動します。
をクリックすると,最新のログに表示が更新されます。
図A-3 DABrokerメッセージログビューア
![[図データ]](figure/zu99c080.gif)