15.8.5 例題(HiRDBファイルシステム領域を自動的に拡張する方式)
自動増分機能を適用したユーザ用RDエリア(RDAREA1)を追加します。
- 〈手順〉
-
-
HiRDBシステム定義を変更します。
-
pdfmkfsコマンドでRDエリア用のHiRDBファイルシステム領域を作成します。
-
pdmodコマンドの制御文ファイルを作成します。
-
pdmodコマンドでRDエリアを追加します。
-
pdlogswap -d sys -wコマンドで,システムログファイルをスワップします。
-
pdcopyコマンドでバックアップを取得します。
-
pdbufmodコマンドでグローバルバッファを割り当てます。
-
pdbufferオペランドを修正します。
手順の数字はこの後で説明している( )レベルに対応しています。例えば,3の操作は(3)で説明しています。
-
- 〈この項の構成〉
(1) HiRDBシステム定義を変更します
pd_rdarea_extension_timingオペランドの指定値を変更します。この例では,自動増分の契機にuseを指定します。また,自動増分時に自動拡張する領域を初期化するため,pd_rdarea_expand_formatオペランドを指定します。
: set pd_rdarea_extension_timing=use set pd_rdarea_expand_format=Y :
HiRDBシステム定義の変更方法については,「HiRDBシステム定義を変更する方法」又は「HiRDBの稼働中にHiRDBシステム定義を変更する方法(システム構成変更コマンド)」を参照してください。
(2) pdfmkfsコマンドでRDエリア用のHiRDBファイルシステム領域を作成します
pdfmkfs -n 100 -k DB -a -i C:\rdarea\area01
- 〔説明〕
-
-aオプションを指定して,100メガバイトのRDエリア用HiRDBファイルシステム領域(C:\rdarea\area01)を作成します。-iオプションを指定して,HiRDBファイルシステム領域を初期化します。
(3) pdmodコマンドの制御文ファイルを作成します
pdmodコマンドのcreate rdarea文を記述した制御文ファイル(C:\pdmod\create01)を作成します。制御文ファイルの内容を次に示します。
create rdarea RDAREA1 for user used by PUBLIC server name bes1 page 4096 characters storage control segment 10 pages extension use 500 segments file name "C:\rdarea\area01\file01" initial 1000 segments;
- 〔説明〕
-
RDエリアの自動増分を適用するために,extensionオペランドに増分セグメント数を指定します。
この例では,RDエリア(RDAREA1)に割り当てられる最終HiRDBファイル(C:\rdarea\area01\file01)は,自動増分契機になると,500セグメントずつ自動的に増分します。
(4) pdmodコマンドでRDエリアを追加します
pdmod -a C:\pdmod\create01
- 〔説明〕
-
(3)で作成したpdmodコマンドの制御文ファイル名を指定して,実行します。
(5) pdlogswap -d sys -wコマンドで,システムログファイルをスワップします
pdlogswap -d sys -w
(6) pdcopyコマンドでバックアップを取得します
pdcopy -m C:\rdarea\mast\mast01 -M r -a -b C:\pdcopy\backup01 -p C:\pdcopy\list01
- 〔説明〕
-
pdmodコマンドはログを無効化するため,実行後は必ずバックアップを取得します。ここでバックアップを取得していない場合,RDエリアをpdmodコマンド実行前の状態にしか回復できません。バックアップの取得については,「バックアップの取得方法」を参照してください。
(7) 追加したRDエリアにグローバルバッファを割り当てます
pdbufmod -k add -a gbuf01 -r RDAREA1 -n 1000
- 〔説明〕
-
新規のグローバルバッファ(gbuf01)を追加してRDAREA1に割り当てます。
この例では,pdbufmodコマンドでグローバルバッファを追加して割り当てています。
なお,pdbufmodコマンドを実行する場合は,次に示す条件をすべて満たす必要があります。
-
HiRDB Advanced High Availabilityを導入している
-
pd_dbbuff_modifyオペランドにYを指定している
(8) pdbufferオペランドを修正します
割り当てたグローバルバッファは,HiRDBを正常終了又は計画停止したときに無効になります。そのため,HiRDBを終了したときにpdbufferオペランドの指定値を変更してください。pdbufferオペランドの指定例を次に示します。
: pdbuffer -a gbuf01 -r RDAREA1,RDAREA2,RDAREA3 -n 1000 :
- 〔説明〕
-
グローバルバッファ(gbuf01)に,追加したRDエリア(RDAREA1)を割り当てます。
なお,システム構成変更コマンド(pdchgconfコマンド)を使用すると,HiRDBの稼働中にpdbufferオペランドの指定を変更できます。ただし,システム構成変更コマンドを実行する場合はHiRDB Advanced High Availabilityが必要になります。システム構成変更コマンドでHiRDBシステム定義を変更する方法については,「HiRDBの稼働中にHiRDBシステム定義を変更する方法(システム構成変更コマンド)」を参照してください。
コマンドの実行後,実行結果が正しいかどうか確認することをお勧めします。コマンドの実行結果の確認方法については,マニュアル「HiRDB コマンドリファレンス」を参照してください。