Hitachi

EUR データベース連携ガイド


付録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の動作状態を表示する手順を次に示します。

  1. DABrokerが起動していることを確認する

  2. プログラムフォルダに登録された[DABroker]から[DABroker管理]を選択する

    DABroker管理ユティリティが起動し,[DABroker管理]に動作状態が表示されます。[図データ]をクリックすると,最新の動作状態に表示が更新されます。

    図A‒1 [DABroker管理]ダイアログ

    [図データ]

    [DABroker管理]ダイアログに表示される項目の意味は次のとおりです。

    識別子

    DABrokerに接続されているクライアント処理を識別するための番号です。

    IPアドレス

    接続しているEURがあるマシンのIPアドレス

    接続時刻

    EURと接続した日時(年/月/日 時:分:秒)

    接続時間

    接続してからの経過時間(時:分:秒)

    予約

    実行中の予約処理数(EURでは使用しません)

    状態

    EURとの接続状態

    「接続中」と表示されている場合は,EURとのコネクションが確立されていることを示します。

    ホスト名

    接続しているEURがあるマシンのホスト名

    次の条件をすべて満たしている場合に表示されます。

    ・[リモートアクセス設定]タブで「IPアドレスからホスト名へ変換する」をチェックしている場合

    ・次のフォルダのhostsファイルに各クライアントのホスト名を登録している場合

    [Windowsをインストールしたフォルダ]\SYSTEM32\DRIVERS\ETC

    なお,ホスト名の長さによっては,途中までしか表示されない場合があります。

  3. DABrokerの動作状態の確認が済んだら,[DABroker管理]ダイアログを閉じ,DABroker管理ユティリティを終了させる

(d) EURの処理を中断する操作手順

特定のEURの処理を中断する手順を次に示します。

  1. DABrokerが起動していることを確認する

  2. プログラムフォルダに登録された[DABroker]から[DABroker管理]を選択する

    DABroker管理ユティリティが起動し,[DABroker管理]ダイアログに動作状態が表示されます。

  3. [DABroker管理]ダイアログで処理を中断するEURを選択し,[図データ]をクリックする

    確認のダイアログが表示されます。

  4. [はい]を選択する

    DABrokerは選択したクライアントとのコネクションを解放します。同時にリレーショナルデータベースに処理のロールバックを要求します。

(2) DABrokerトレース出力ユティリティ

DABrokerトレース出力ユティリティの機能,操作できるユーザ,各機能を使用する場合の操作手順について説明します。

(a) 機能

DABrokerトレース出力ユティリティでは,次の2種類のトレースを出力できます。

通信トレース

通信トレースとは,DABrokerとEUR間のデータの送受信についての情報です。DABrokerがこの情報を取得するのは,クライアントからの要求受け付け直後,およびDABrokerからの結果送信直後です。通信トレースは,「DABroker運用ディレクトリ\spool\dabcltrc」の下に出力されます。

アクセストレース

アクセストレースとは,DABrokerがリレーショナルデータベースに要求した処理,およびその処理に対するリレーショナルデータベースからの応答についての情報です。DABrokerがこの情報を出力するのは,リレーショナルデータベースに要求を出す直前およびリレーショナルデータベースから応答が返ってきた直後です。リレーショナルデータベースとのアクセストレースは,「DABroker運用ディレクトリ」\spool\db_accessの下に出力されます。

(b) 操作できるユーザ

すべてのユーザがDABrokerトレース出力ユティリティを実行できます。

(c) トレースを出力する操作手順

通信トレース,およびリレーショナルデータベースとのアクセストレースを出力する操作手順を次に示します。

  1. プログラムフォルダに登録された[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. 「通信トレースを出力する場合の操作」,「アクセストレースを出力する場合の操作」が済んだら,[実行]ボタンを選択する

    指定した出力先が登録されます。

    なお,「通信トレースを出力する場合の操作」および「アクセストレースを出力する場合の操作」の両方をすると,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) 拡張データベースアクセストレースユーティリティ

拡張データベースアクセストレースは,次のような場合に有効です。

ここでは,拡張データベースアクセストレースユティリティの機能,拡張データベースアクセストレースの取得方法,ファイル出力形式,ファイル名称および注意事項について説明します。

(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のログを表示する操作手順を次に示します。

  1. プログラムフォルダに登録された[DABroker]から[メッセージログビューア]を選択する

    DABrokerメッセージログビューアが起動します。[図データ]をクリックすると,最新のログに表示が更新されます。

    図A‒3 DABrokerメッセージログビューア

    [図データ]