メッセージ格納領域を作成する手順について説明します。
データベーススペースの用意
メッセージ格納領域を作成するためのデータベーススペースを用意します。データベーススペースの作成方法の詳細は、Symfoware Serverのマニュアルを参照してください。
データベーススペースの作成例
以下の例では、ローカルファイルにデータベーススペースを作成します。
DDLファイル(create_dbspace.ddl)を作成します。
CREATE DBSPACE DBSP_1 ALLOCATE FILE c:\rdbdps\DB_SP1 ATTRIBUTE SPACE(1024M) LOG GROUP system;
DBSP_1:データベーススペース名を指定します。
c:\rdbdps\DB_SP1:ローカルファイルの格納先を指定します。事前に格納先のディレクトリc:\rdbdpsを作成してください。
1024M:データベーススペースのサイズを指定します。容量計算の結果以上のサイズを指定してください。
system:ロググループ名を指定します。
DDLファイルのサンプルファイルが以下に格納されています。必要に応じてコピーして使用してください。
<INSDIR>\etc\setup\sample\create_dbspace.ddl
rdbddlexコマンドを実行します。前の手順で作成したDDLファイルを指定します。
set RDBNAME=RDBESI
rdbddlex -d ESIMESSAGEDB create_dbspace.ddl
RDBESI:RDBシステム名を指定します。
ESIMESSAGEDB:データベース名を指定します。
メッセージ格納領域の作成
メッセージ格納領域作成コマンドを使用して、JMS-Rキューのメッセージ格納領域を作成します。コマンドを複数回実行し、JMS-Rキューの数分メッセージ格納領域を作成してください。
メッセージ格納領域作成はapfwaddmsgtblコマンドを使用します。詳細は“ISI リファレンス”の“apfwaddmsgtbl”コマンドを参照してください。
コマンド実行例
環境作成定義ファイル(apfwaddmsgdef.xml)を作成します。
<?xml version="1.0" encoding="UTF-8"?> <!-- # Copyright(C) 2009 FUJITSU LIMITED # Environment definition file for apfwaddmsgtbl --> <apfwmsgtbldef> <spacedef> <dbspace_name>DBSP_1</dbspace_name> <evtchl_max>1</evtchl_max> <message_max>3000</message_max> <message_len>16</message_len> </spacedef> <nsgw> <dbspace_name>DBSP_1</dbspace_name> </nsgw> </apfwmsgtbldef>
DBSP_1:データベーススペース名を指定します。
3000:JMS-Rキューに蓄積可能なメッセージ数を指定します。
16:扱うメッセージの平均長(Kバイト単位)を指定します。
MSGSPACE1:メッセージ格納領域名
環境作成定義ファイルのサンプルファイルが以下に格納されています。必要に応じてコピーして使用してください。
<INSDIR>\etc\setup\sample\apfwaddmsgdef.xml
apfwaddmsgtbl コマンドを実行します。1.で作成した環境作成定義ファイルを指定します。
apfwaddmsgtbl -f apfwaddmsgdef.xml -n MSGSPACE1
メッセージ格納領域の容量拡張
環境作成定義ファイル(apfwaddmsgdef.xml)の「message_len」に33より大きい値を設定している場合、さらに以下の手順を実施し、メッセージ格納領域の容量拡張を実施します。
本手順は、JMS-Rキューの追加後に実施します。追加したJMS-Rキュー数分実施してください。
現在DSIで使用しているDSI容量の確認
現在DSIで使用しているDSI容量を確認します。
1-1) apfwdspmsgtblコマンドの-eオプションを使用して、JMS-Rキューが使用しているテーブル名を検索します。
1-2) rdbprtコマンドを使用して、DSIの容量を確認します。DSI名は文字列“ITM1”で始まり、末尾が“テーブル名の後ろ10桁の数字”で構成されます。Allocation information項目のAllocate sizeがDSIに割り当てられた容量になります。
必要なDSI容量の計算
必要なDSI容量を以下の計算式を使用して算出します。
【計算式】 必要なDSI容量 [byte] = CEIL(( α ) / 32,768 ) ×32,768 α={CEIL(β/ 32,616) × message_max + 1} × 32,768 × 1.3 β=8,072 + (message_len × 1,024) ※ message_max:メッセージ蓄積最大数 message_len:平均メッセージ長 [Kbyte] CEIL :計算結果が整数になるように切り上げます。
DSIに割り当てるデータベーススペースの作成
DSIに割り当てるデータベーススペースを作成します。
作成するデータベーススペースのサイズは(2)-(1)の大きさです。
データベーススペースはrdbddlexコマンドのCREATE DBSPACE文で作成します。
データベーススペースへの追加割当て
既存のDSIに、(3)で作成したデータベーススペースの追加割当てを行います。
rdbddlexコマンドのDSI変更文で、(3)で作成したデータベーススペースを該当のDSIへ追加割当てを行います。