Cosminexus V9 アプリケーションサーバ Cosminexus Reliable Messaging

[目次][用語][索引][前へ][次へ]

3.4.1 DBMSの設定(HiRDBを使用する場合)

HiRDBを使用する場合のDBMSの設定について説明します。説明する以外の設定内容や手順については,HiRDBのマニュアルを参照してください。

<この項の構成>
(1) DBMSの初期設定(HiRDBを使用する場合)
(2) DBクライアントの設定
(3) Reliable Messagingの管理情報テーブルの作成

(1) DBMSの初期設定(HiRDBを使用する場合)

(a) HiRDBの初期設定

HiRDBをインストールしたら,環境設定をします。Reliable Messagingの管理情報テーブルを格納するためのRDエリアを作成してください。HiRDBの環境設定については,マニュアル「HiRDB システム導入・設計ガイド」を参照してください。

なお,HiRDBを環境設定するときに使用する文字コードは,DABroker Libraryに設定した漢字コードセットに合わせてください。文字コードの選択については,マニュアル「HiRDB システム導入・設計ガイド」を参照してください。

(b) HiRDBのユーザ権限の付与

HiRDBでは"ユーザの作成"という操作がなく,ユーザ権限の一つであるCONNECT権限をユーザに付与することによってユーザが作成されます。ユーザ権限については,マニュアル「HiRDB システム運用ガイド」を参照してください。

Reliable MessagingはHiRDBの接続ユーザを使用してHiRDBにアクセスします。Reliable Messagingで使用する接続ユーザには,次に示すユーザ権限を付与してください。

ユーザ権限を付与するには,データベース定義ユティリティ(pddef)またはHiRDB SQL Executerを使用します。ここでは,データベース定義ユティリティ(pddef)を使用してユーザ権限を付与する場合の手順を説明します。Reliable Messagingが動作するマシンまたはHiRDBが動作するマシンで,次に示す手順を実行してください。データベース定義ユティリティ(pddef)の使用方法については,マニュアル「HiRDB コマンドリファレンス」を参照してください。

  1. 環境変数の設定
    次に示す環境変数を設定します。
    Windowsの場合
     
    SET PDHOST = <HiRDBサーバのホスト名またはIPアドレス>
    SET PDNAMEPORT = <HiRDBサーバのポート番号>
    SET PDUSER = <DBA権限を持つユーザ名>/<パスワード>
     
     
    UNIX(csh)の場合
     
    setenv PDHOST <HiRDBサーバのホスト名またはIPアドレス>
    setenv PDNAMEPORT <HiRDBサーバのポート番号>
    setenv PDUSER <DBA権限を持つユーザ名>/<パスワード>
     
     
    UNIX(sh)の場合
     
    PDHOST=<HiRDBサーバのホスト名またはIPアドレス>
    PDNAMEPORT=<HiRDBサーバのポート番号>
    PDUSER=<DBA権限を持つユーザ名>/<パスワード>
    export PDHOST
    export PDNAMEPORT
    export PDUSER
     
     
  2. データベース定義ユティリティ(pddef)の開始
    次に示すとおりコマンドを入力して,データベース定義ユティリティ(pddef)を開始します。
     
    pddef
     
     
  3. SQL文の実行
    次に示すSQL文を実行します。
     
    GRANT  CONNECT  TO  <権限を付与する接続ユーザ名>
                  IDENTIFIED  BY  <パスワード>;
    GRANT  SCHEMA   TO  <権限を付与する接続ユーザ名>;
     
    注※
    Reliable Messagingが使用する接続ユーザの名前です。HiRDBのクライアント環境変数グループに登録したPDUSER環境変数と同じ値になります。PDUSER環境変数については,「(2)(b) HiRDBの環境変数グループの登録」を参照してください。
     
  4. データベース定義ユティリティ(pddef)の終了
    データベース定義ユティリティ(pddef)を終了するには,
    Windowsの場合
    CtrlキーとZキーを同時に押したあと,Enterキーを押してください。
    UNIXの場合
    CtrlキーとDキーを同時に押してください。
(c) HiRDBのスキーマの定義

Reliable Messagingの管理情報テーブル用のスキーマを定義します。

スキーマを定義するには,データベース定義ユティリティ(pddef)またはHiRDB SQL Executerを使用します。ここでは,データベース定義ユティリティ(pddef)を使用してスキーマ定義する場合の手順を説明します。Reliable Messagingが動作するマシンまたはHiRDBが動作するマシンで,次に示す手順を実行してください。データベース定義ユティリティ(pddef)の使用方法については,マニュアル「HiRDB コマンドリファレンス」を参照してください。

  1. 環境変数の設定
    次に示す環境変数を設定します。
    Windowsの場合
     
    SET PDHOST = <HiRDBサーバのホスト名またはIPアドレス>
    SET PDNAMEPORT = <HiRDBサーバのポート番号>
    SET PDUSER = <接続ユーザ名>/<パスワード>
     
     
    UNIX(csh)の場合
     
    setenv PDHOST <HiRDBサーバのホスト名またはIPアドレス>
    setenv PDNAMEPORT <HiRDBサーバのポート番号>
    setenv PDUSER <接続ユーザ名>/<パスワード>
     
     
    UNIX(sh)の場合
     
    PDHOST=<HiRDBサーバのホスト名またはIPアドレス>
    PDNAMEPORT=<HiRDBサーバのポート番号>
    PDUSER=<接続ユーザ名>/<パスワード>
    export PDHOST
    export PDNAMEPORT
    export PDUSER
     
     
    注※
    接続ユーザ名には,権限を付与した接続ユーザ名を指定します。詳細については,「(1)(b) HiRDBのユーザ権限の付与」を参照してください。
     
  2. データベース定義ユティリティ(pddef)の開始
    次に示すとおりコマンドを入力して,データベース定義ユティリティ(pddef)を開始します。
     
    pddef
     
     
  3. SQL文の実行
    次に示すSQL文を実行します。
     
    CREATE SCHEMA;
     
     
  4. データベース定義ユティリティ(pddef)の終了
    データベース定義ユティリティ(pddef)を終了するには,
    Windowsの場合
    CtrlキーとZキーを同時に押したあと,Enterキーを押してください。
    UNIXの場合
    CtrlキーとDキーを同時に押してください。
(d) HiRDBのRDエリアの準備

CReliable Messagingの管理情報テーブルを格納するために,必要に応じてRDエリアを作成します。RDエリアの作成方法については,マニュアル「HiRDB システム運用ガイド」を参照してください。

複数のユーザでReliable Messagingにアクセスする際にアプリケーション認証を使用する場合は,公用RDエリアを作成し,その公用RDエリアにReliable Messagingの管理情報テーブルを作成します。

(e) HiRDBの排他資源と同時アクセス可能実表数の見積もり

HiRDBの排他資源および同時アクセス可能実表数の見積もりについては,「付録F HiRDBの見積もり」を参照してください。

(2) DBクライアントの設定

次に示す製品をインストールしたら,Reliable Messagingが動作するマシンで設定をします。

(a) HiRDBの環境変数の設定

次に示す環境変数を設定します。

上記の表に示したとおり,Reliable MessagingのDBコネクション使用数は次の値になります。

6+送信スレッドの起動数+メッセージ受信リクエスト数

なお,Application ServerのJ2EEコンポーネントからHiRDBにアクセスする場合は,J2EEコンポーネントが利用するコネクション数に,Reliable MessagingのDBコネクション使用数を加えた値を指定します。

 
注意
HiRDBのクライアント環境定義PDDBLOGには,NOを指定しないでALLを指定してください。
(b) HiRDBの環境変数グループの登録

HiRDBの環境変数グループの登録方法を次に示します。

Windowsの場合
DABroker対応のDB Connector for Reliable Messagingを使用するときは,HiRDBクライアント環境変数登録ツールを使用して環境変数のグループを登録します。[システムグループ]ラジオボタンを選択して環境変数グループ名を登録してください。
HiRDB Type4 JDBC Driver対応のDB Connector for Reliable Messagingを使用するときは,環境変数のグループは,HiRDBのクライアント環境変数グループの設定ファイルに登録します。

UNIXの場合
環境変数のグループは,HiRDBのクライアント環境変数グループの設定ファイルに登録します。

登録方法については,マニュアル「HiRDB UAP開発ガイド」を参照してください。

ここで登録した環境変数グループ名は,DB Connector for Reliable Messagingのコンフィグレーションプロパティで,XAOpen文字列として設定する必要があります。DB Connector for Reliable Messagingのコンフィグレーションプロパティについては,「6.3 DB Connector for Reliable Messagingのコンフィグレーションプロパティの一覧」を参照してください。

HiRDBのクライアント環境変数グループに登録する内容を次の表に示します。

表3-3 HiRDBのクライアント環境変数グループに登録する内容

項番 環境変数名 設定内容
1 PDHOST HiRDBサーバのホスト名またはIPアドレスを指定します。
2 PDUSER HiRDBサーバのユーザ名※1およびパスワードを指定します。
3 PDNAMEPORT HiRDBサーバのポート番号を指定します。
4 PDSWAITTIME※2 Component Containerのトランザクションタイムアウトの値※3よりも大きな値を指定します。
5 PDCWAITTIME※2 Component Containerのトランザクションタイムアウトの値※3よりも大きな値を指定します。
また,メッセージの遅延削除にかかる時間よりも大きな値を指定します※4
6 PDSWATCHTIME 0を指定します。

注※1
Reliable MessagingがHiRDBの管理するDBにアクセスするために使用する接続ユーザの名前です。
共用キューを使用して複数システム間でのアプリケーション連携をする場合は,送信側システムと受信側システムで同じ接続ユーザ名を指定します。

注※2
HiRDBを使用する場合,Reliable Messagingのトランザクション決着中に,HiRDBの設定値であるPDSWAITTIMEおよびPDCWAITTIMEに指定した値によってタイムアウトが発生しDBがロールバックすると,Reliable Messagingは閉塞することがあります。このため,PDSWAITTIMEおよびPDCWAITTIMEには,適切な値を設定してください。PDSWAITTIMEおよびPDCWAITTIMEについては,マニュアル「HiRDB システム導入・設計ガイド」を参照してください。なお,Reliable Messagingが閉塞した場合は,Application Serverを強制停止したあと,再起動してください。

注※3
Component Containerのトランザクションタイムアウト値はJ2EEサーバ用ユーザプロパティファイルまたはUserTransaction.setTransactionTimeout()メソッドで指定します。J2EEサーバ用ユーザプロパティファイルについては,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」を参照してください。UserTransaction.setTransactionTimeout()メソッドについては,Javaのドキュメントを参照してください。

注※4
チューニングは本番稼動環境と同等の環境で行う必要があります。更に遅延削除処理にかかる時間が最大となるように,以下の環境でチューニングを行う必要があります。
  • システムへの負荷(メッセージの送受信処理など)が最大となるような環境
  • キュー内の遅延削除対象となるメッセージ数,配信済み状態ではないメッセージ数,メッセージのサイズが最大となる環境
メッセージの遅延削除にかかる時間は,Reliable MessagingがHiRDBへ発行する,削除SQLにかかる時間から判断します。削除SQLにかかる時間はHiRDBのSQLトレースから判断します。
以下に,Reliable Messagingが遅延削除で発行する削除SQLを示します。
削除SQLは永続キュー毎に発行されるため,発行するSQLの中で一番時間のかかったSQLを元にチューニングを行ってください。
   
DELETE FROM <DBへの接続ユーザ名>.<RMSystemNameプロパティ指定値>_MSG_<キュー名称>
                                         WHERE GROUP_NAME=' ' AND DELETE_FLAG=?"
   

(3) Reliable Messagingの管理情報テーブルの作成

DBMSとしてHiRDBを使用する場合,次に示す手順で管理情報テーブルを作成します。HiRDB SQL Executerの使用方法については,HiRDB SQL Executerのドキュメントを参照してください。

  1. コンフィグレーションプロパティのRMSystemNameに指定する値(3文字以内の英数字)の決定
    RMSystemNameについては,「6.2 Reliable Messagingのコンフィグレーションプロパティの詳細説明」を参照してください。
  2. SQLファイルの編集
    テーブル作成用SQLファイル(%HRMDIR%\sql\createtableshirdb.sql)を任意の場所にコピーしてから,このファイルをテキストエディタで開き,ファイル中の5か所の"<RMSystemName>"の部分を手順1.で決定したRMSystemNameの指定値で置き換えて,ファイルを保存します。
    また,必要に応じて"<RMAREA>"の部分を表の行を格納するRDエリア名に変更します。または"IN <RMAREA>"の部分を削除します。"IN <RMAREA>"の部分を削除した場合は,格納するRDエリアをHiRDBが決定します。HiRDBが決定するRDエリアについては,マニュアル「HiRDB SQLリファレンス」を参照してください。
  3. SQLファイルの実行
    Windowsの場合
    次に示すコマンドでHiRDB SQL Executerを開始します。
     
    pdsqlw -u <接続ユーザ名>/<パスワード>
           -h <HiRDBサーバのホスト名またはIPアドレス>
           -n <HiRDBサーバのポート番号>
     
    HiRDB SQL Executerの[ファイル]メニューから[ファイルから実行]を選択し,手順2.で編集したSQLファイルを指定して実行します。
     
    UNIXの場合
    環境変数PDUSER,PDHOST,PDNAMEPORTを設定し,次に示すコマンドでHiRDB SQL ExecuterからSQLファイルを実行します。
     
    pdsql  <  <手順2.で編集したSQLスクリプトファイルのパス>
     
     
    注※
    接続ユーザ名には,権限を付与した接続ユーザ名を指定します。詳細については,「(1)(b) HiRDBのユーザ権限の付与」を参照してください。
    共用キューを使用して複数システム間でのアプリケーション連携をする場合には,送信側システムと受信側システムで同じ接続ユーザ名を使用します。