メッセージ格納ファイルとしてのデータベーススペースを追加することで以下のことが可能になります。
メッセージ格納ファイルの容量が不足したため容量を拡張する場合
環境定義で指定したメッセージキュー容量よりも大きなメッセージキューを作成する場合
メッセージ格納ファイルとしてのデータベーススペースを追加した後、環境削除を行う手順は“5.3.4 MQDのシステム環境の削除(データベーススペースを追加した場合)”を参照してください。
メッセージ格納ファイルの追加手順を図5.6 メッセージ格納ファイルの追加手順に示します。
図5.6 メッセージ格納ファイルの追加手順
注意
メッセージ制御テーブルは、すべてのメッセージの制御情報を格納するテーブルで、システム制御用テーブルの一つです。データベーススペースを追加してメッセージの格納領域を拡張した場合、制御するメッセージの数も増えるため、メッセージ制御テーブルの容量も拡張する必要があります。
以下にメッセージ格納域の変更について説明します。
データベーススペースの作成
メッセージ制御テーブルの利用規定の設定
メッセージ制御テーブルの容量拡張
メッセージ制御テーブルの利用規定の解除
メッセージ格納用のデータベーススペースの作成を行うには、データベースの作成定義を記述したSQL記述ファイルを作成して、Symfowareの rdbddlexコマンドを使用してデータベーススペースを作成します。
以下に、データベーススペースの作成のSQL記述ファイル例を示します。
CREATE DBSPACE 追加データベーススペース名 ALLOCATE FILE ファイル名 ATTRIBUTE SPACE (サイズ); GRANT ALL PRIVILEGES ON DBSPACE 追加データベーススペース名 TO PUBLIC;
CREATE DBSPACE 追加データベーススペース名 ALLOCATE RAWDEVICE ローデバイス名; GRANT ALL PRIVILEGES ON DBSPACE 追加データベーススペース名 TO PUBLIC;
注意
追加データベーススペース名の名称として、以下は予約済みです。
MQD_MQDシステム名_SPS
MQD_MQDシステム名_SPU
例
追加データベーススペース名の指定例
MQD_MQDシステム名_SPU2
以下に、rdbddlexコマンドの入力例を示します。
rdbddlex -d MQD_MQDシステム名 SQL記述ファイル
注意
Symfoware/RDBトランザクション連携機能を使用する場合は、“MQD_MQDシステム名”を業務用データベース名に置き換えて入力してください。
メッセージ制御テーブルの容量の拡張を行う前に、メッセージ制御テーブルのDSIおよびインデックスDSIに対して、参照更新抑止の利用規定を設定する必要があります。DSIおよびインデックスDSIに対して参照更新抑止の利用規定を設定する場合、Symfowareの rdbrtrコマンドを使用して行います。
以下に、rdbrtrコマンドの入力例を示します。
rdbrtr -i MQD_MQDシステム名.MQD_MSGCHAIN_DSI -rrw rdbrtr -i MQD_MQDシステム名.MQD_MSGCHAIN_IXDSI -rrw
注意
Symfoware/RDBトランザクション連携機能を使用する場合は、“MQD_MQDシステム名”を業務用データベース名に置き換えて入力してください。
メッセージ制御テーブルの容量の拡張を行うには、メッセージ制御テーブルのDSIおよびインデックスDSIの拡張と再編成を行う必要があります。DSIおよびインデックスDSIの拡張と再編成は、Symfowareの rdbgcdsiコマンドを使用して行います。
以下に、rdbgcdsiコマンドの入力例を示します。
rdbgcdsi -E -i MQD_MQDシステム名.MQD_MSGCHAIN_DSI -p DATA,MQD_MQDシステム名.MQD_MQDシステム名_SPS,サイズ1 -w c:\home\mqd\workdir -u c:\home\mqd\stockdir rdbgcdsi -E -i MQD_MQDシステム名.MQD_MSGCHAIN_IXDSI -p BASE,MQD_MQDシステム名.MQD_MQDシステム名_SPS,サイズ2 -p INDEX,MQD_MQDシステム名.MQD_MQDシステム名_SPS,サイズ3 -w c:\home\mqd\workdir -u c:\home\mqd\stockdir
rdbgcdsi -E -i MQD_MQDシステム名.MQD_MSGCHAIN_DSI -p DATA,MQD_MQDシステム名.MQD_MQDシステム名_SPS,サイズ1 -w /home/mqd/workdir -u /home/mqd/stockdir rdbgcdsi -E -i MQD_MQDシステム名.MQD_MSGCHAIN_IXDSI -p BASE,MQD_MQDシステム名.MQD_MQDシステム名_SPS,サイズ2 -p INDEX,MQD_MQDシステム名.MQD_MQDシステム名_SPS,サイズ3 -w /home/mqd/workdir -u /home/mqd/stockdir
ポイント
サイズ1 = 64Mバイト × (追加データベーススペースの容量(Mバイト) / 1024Mバイト)
サイズ2 = 1600Kバイト × (追加データベーススペースの容量(Mバイト) / 1024Mバイト)
サイズ3 = 200Kバイト × (追加データベーススペースの容量(Mバイト) / 1024Mバイト)
注意
拡張に使用するデータベーススペースは、システム制御用データベーススペース(MQD_MQDシステム名_SPS)を指定してください。
システム制御用データベーススペース(MQD_MQDシステム名_SPS)には、事前に拡張後のDSIおよびインデックスDSIが格納できる空容量が必要です。
Symfoware/RDBトランザクション連携機能を使用する場合は、“MQD_MQDシステム名”を業務用データベース名に置き換えて入力してください。
メッセージ制御テーブルの容量の拡張を行った後は、メッセージ制御テーブルのDSIおよびインデックスDSIに対して、参照更新抑止の利用規定を解除する必要があります。DSIおよびインデックスDSIに対して参照更新抑止の利用規定を解除する場合、Symfowareの rdbrlsコマンドを使用して行います。
以下に、rdbrlsコマンドの入力例を示します。
rdbrls -i MQD_MQDシステム名.MQD_MSGCHAIN_DSI -rrw rdbrls -i MQD_MQDシステム名.MQD_MSGCHAIN_IXDSI -rrw
注意
Symfoware/RDBトランザクション連携機能を使用する場合は、“MQD_MQDシステム名”を業務用データベース名に置き換えて入力してください。