付録A.1 DABrokerの起動中に使用できるユティリティ
DABrokerの起動中には,次の三つのユティリティおよび一つのビューアを使って情報を取得したり,EURの処理を制御したりできます。これ以外のユティリティやビューアはEURでは使用しないため説明は省略します。
- DABroker管理ユティリティ
-
DABrokerの動作状態を表示したり,特定のEURの処理を中断したりできます。
- DABrokerトレース出力ユティリティ
-
通信トレース,およびアクセストレースを出力できます。このユティリティは,DABrokerが起動していなくても使用できます。
- 拡張データベースアクセストレースユティリティ
-
拡張データベースアクセストレースを出力できます。
- DABrokerメッセージログビューア
-
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管理]ダイアログ [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トレース出力]ダイアログ -
通信トレースを出力する場合の操作
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: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の内容
この項目は,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
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"が出力されます。
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
SQL Server
ODBC30
- 重要
-
拡張データベースアクセストレースのファイルを運用する際には,次の点に注意してください。
-
拡張データベースアクセストレースは,出力した行数がDABroker動作環境定義ファイルでの設定行数を超えると,現在のトレースファイルがバックアップファイルとして別名で保存されます。トレース内容は,トレースファイルの先頭から再び出力されます。
-
バックアップファイルは1世代前までしか残しません。このため,現在のトレースファイルが設定した行数を超えると,既存のバックアップファイルは上書きされます。既存のバックアップファイルを保存する必要がある場合は,上書きされる前に別のディレクトリに退避してください。
-
トレースファイルは実行しているコネクションの数だけ作成されます。
-
トレースファイルは自動的に削除されません。ユーザが不要になった時点で削除してください。
-
ハードディスクの空き容量が不十分な場合,トレースの出力が停止されることがあります。
-
(4) DABrokerメッセージログビューア
DABrokerメッセージログビューアの機能,操作できるユーザ,DABrokerのログを表示する操作手順について説明します。
(a) 機能
DABrokerのログファイルの出力内容を参照できます。
(b) 操作できるユーザ
すべてのユーザがDABrokerトレース出力ユティリティを実行できます。
(c) DABrokerのログを表示する操作手順
DABrokerのログを表示する操作手順を次に示します。
-
プログラムフォルダに登録された[DABroker]から[メッセージログビューア]を選択する
DABrokerメッセージログビューアが起動します。をクリックすると,最新のログに表示が更新されます。
図A‒3 DABrokerメッセージログビューア