15.2.1 RDエリアを追加する前に
- 〈この項の構成〉
(1) 追加できるRDエリア
追加できるRDエリアを次に示します。
-
データディクショナリ用RDエリア※
-
データディクショナリLOB用RDエリア
-
ユーザ用RDエリア
-
ユーザLOB用RDエリア
-
リスト用RDエリア
- 注※
-
ストアドプロシジャ,ストアドファンクション,及びトリガに関するディクショナリ表,及び再編成時期予測機能で使用する解析情報表と運用履歴表を格納するデータディクショナリ用RDエリアのことです。
(2) RDエリアを追加するときは?
次の場合にRDエリアを新規に追加します。
-
新しい表やインデクスを作成する場合,既にあるRDエリアには定義したくないとき
-
新しく追加するRDエリアに一部の表やインデクスを移すことで,既にあるRDエリアの空き領域を大きくしたい場合
-
絞込み検索をする場合,又はリストの作成数がオーバーした場合(リスト用RDエリアを追加します)
(3) 注意事項
RDエリアを追加する場合は次に示すオペランドの値に注意してください。これらのオペランドの値を超えてRDエリアを追加できません。
-
システム定義のpd_max_rdarea_noオペランドで指定したRDエリアの最大数
-
システム定義のpd_max_file_noオペランドで指定したRDエリアを構成するHiRDBファイルの最大数
(4) グローバルバッファの割り当て
追加したRDエリアをすぐに使用する場合は,(a)〜(c)に示すどれかの方法でグローバルバッファを割り当てる必要があります。
(a) pdmodコマンドの実行時にグローバルバッファを割り当てる方法
pdmodコマンドのcreate rdarea文のglobalbufferオペランドでグローバルバッファを割り当てます。この場合,既存のグローバルバッファ(システム定義のpdbufferオペランドの-r又は-oオプション指定のグローバルバッファ)にだけ割り当てられます。なお,次に示す場合はこの方法を使用できないため,(b)又は(c)の方法を使用してください。
-
追加するRDエリアのページ長がグローバルバッファのバッファサイズ以上の場合
-
インデクス用又はLOB用のグローバルバッファに割り当てる場合
-
新規追加したグローバルバッファに割り当てる場合
この方法を使用して割り当てたグローバルバッファは,HiRDBを正常終了又は計画停止したときに無効になります。そのため,HiRDBを終了したときにpdbufferオペランドの指定値を変更してください。なお,システム構成変更コマンド(pdchgconfコマンド)を使用すると,HiRDBの稼働中にpdbufferオペランドの指定値を変更できます。
- 参考
-
-
pdbufferオペランドの指定値を変更しないと,次回のHiRDB開始以降,追加したRDエリアは-oオプション指定のグローバルバッファに割り当てられます。
-
HiRDBを再開始した場合はglobalbufferオペランドで指定したグローバルバッファに割り当てられます。
-
(b) pdbufmodコマンドでグローバルバッファを割り当てる方法
pdbufmodコマンドでグローバルバッファを割り当てます。この場合,既存のグローバルバッファだけでなく,新規追加したグローバルバッファにも割り当てられます。ただし,この方法でグローバルバッファを割り当てる場合は次に示す条件をすべて満たす必要があります。
-
HiRDB Advanced High Availabilityを導入している
-
pd_dbbuff_modifyオペランドにYを指定している
pdbufmodコマンドでグローバルバッファを割り当てる方法については,「HiRDBの稼働中にグローバルバッファを追加,変更,又は削除する方法(グローバルバッファの動的変更)」を参照してください。
(c) システム構成変更コマンド(pdchgconfコマンド)でグローバルバッファを割り当てる方法
システム構成変更コマンドでpdbufferオペランドの指定値を変更してグローバルバッファを割り当てます。この場合,既存のグローバルバッファだけでなく,新規追加したグローバルバッファにも割り当てられます。ただし,この方法でグローバルバッファを割り当てる場合はHiRDB Advanced High Availabilityが必要になります。
システム構成変更コマンドでHiRDBシステム定義を変更する方法については,「HiRDBの稼働中にHiRDBシステム定義を変更する方法(システム構成変更コマンド)」を参照してください。
(5) ストアドプロシジャ又はストアドファンクションを使用するための規則
-
データディクショナリLOB用RDエリアを追加すると,同時にルーチン管理用のディクショナリ表が作成されます。そのため,データディクショナリ用RDエリアに空きがない場合には,あらかじめデータディクショナリ用RDエリアを拡張しておいてください。
-
データディクショナリLOB用RDエリアの追加と同時に,ルーチン管理用のディクショナリ表を格納するデータディクショナリ用RDエリアを追加できます。
-
データディクショナリLOB用RDエリアを追加する場合には,一度に二つのRDエリアを追加してください。