ラージ・オブジェクトを処理するように DB2 データベース作成パラメーターを変更する

これは、z/OS 上にブローカー・データベースを作成するというより大きなタスクの一部です。

DB2 がラージ・オブジェクト (LOB) を保持するために、補助テーブルを割り振る必要があります。 これらのテーブルの PRIQTY および SECQTY に指定されるデフォルトのサイズは、要件を満たす上では小さすぎるかもしれません。 テーブル・スペース用のエクステントの最大数をすぐに使い切ってしまうことがあるかもしれません。 これらのテーブルに大規模で頻繁な更新が含まれている場合、ブローカー用の CNTL ライブラリー内の BIPDBTS メンバーを編集します。 既存のブローカーは、このメンバーの変更を適用するために再作成することが必要です。

create tablespace ステートメントの場合、次のことを考慮してください。
PRIQTY n
DB2 が管理するデータ・セットに対する最低の 1 次スペース割り振りを指定します。 1 次スペース割り振りは、少なくとも整数 n をキロバイトで指定する必要があり、実際の値は、使用されるバッファー・プールのページ・サイズによって異なります。 PRIQTY を省略すると、n は、4KB、8KB、16KB、および 32KB のページ・サイズに対して、それぞれ 200、400、800、または 1600 となります。
SECQTY n
DB2 が管理するデータ・セットに対する最低の 2 次スペース割り振りを指定します。 2 次スペース割り振りは、少なくとも整数 n をキロバイトで指定する必要があります。 これも使用されるバッファー・プールのページ・サイズによって異なります。 SECQTY を省略すると、n は PRIQTY の 10% またはテーブル・スペースのページ・サイズの 50 倍のうち、大きい方となります。
DB2 に付属の DSNTEJ7 サンプルは、上記のことを例示しています。

既存のブローカーについては、RUNSTATS または REORG などの DB2 ユーティリティー・ツールをデフォルトの名前付きテーブル・スペースで使用して、1 次および 2 次の数量を増やすことができます。

デフォルトでは、WebSphere Business Integration Message Broker テーブルで LOB 列が 1GB として定義されます。 最大サイズが 1GB よりも大きい値に定義された LOB は、DB2 でログに記録されないことに注意してください。 これは、LOB が 1 GB より大きな値を持つデータベースのバックアップ・コピーを復元する場合、DB2 が再始動する時にそのテーブルに対する変更をリカバリーしないということを意味します。

LOB 列への変更をログに記録するには、LOB 列のサイズを必ず 1 GB 以下にし、CREATE LOB TABLESPACE ステートメントで LOG YES を指定します (LOG 文節が指定されない場合のデフォルトは LOG YES)。 このことは、それらのテーブルを更新する時のパフォーマンスに影響を与える可能性があります。 LOB 列をログに記録することを希望せず、LOB 列のサイズが 1 GB 以下の場合、関係するテーブル・スペースに LOG NO を指定します。 デフォルトでは、WebSphere Business Integration Message Broker の LOB テーブル・スペースはロギングを可能にするために調整されます。

既存のブローカーから LOB 列のロギングをサポートするブローカーにマイグレーションする場合は、ブローカーの再作成をしてください。

関連タスク
ブローカー・データベースの作成