5.13.3 更新可能なオンライン再編成の準備作業
更新可能なオンライン再編成の準備作業の流れを次の表に示します。
項番 |
作業項目 |
実行するコマンド |
実行するタイミング |
---|---|---|---|
1 |
RDエリアの物理配置の検討 |
− |
最初に1回だけ実行 |
2 |
更新可能なオンライン再編成に関するオペランド(システム定義)の追加 |
− |
|
3 |
関連RDエリアの確認 |
pdrdreflsコマンド |
|
4 |
HiRDBファイルシステム領域の世代登録 |
pdmodコマンド |
|
5 |
レプリカRDエリアの定義 |
||
6 |
次の表を格納するRDエリアの作成
|
||
7 |
追い付き反映キー対応表の作成または初期化 |
pdsdborcrtコマンド |
更新可能なオンライン再編成の実行前に毎回実施 |
8 |
適用条件のチェック |
pdorcheckコマンド |
|
9 |
ペアボリュームの定義 |
− |
最初に1回だけ実行 |
10 |
追い付き状態管理表の作成 |
pdorcreateコマンド |
|
11 |
SDBディレクトリ情報の最終更新日時のチェック |
pdsdbarc -aコマンド |
更新可能なオンライン再編成の実行前に毎回実施 |
更新可能なオンライン再編成の準備作業の手順を例題形式で説明します。なお,例題の説明は,インナレプリカ機能についての知識があることを前提にしています。
- 例題
-
SDBデータベースを更新可能なオンライン再編成するための準備作業を行います。SDBデータベースを格納しているRDエリアなどの構成は次のとおりです。
- ポイント
-
-
追い付き状態管理表はシステムで1つ必要です。
-
追い付き反映キー対応表はBESごとに必要です。
-
- 〈この項の構成〉
-
(1) RDエリアの物理配置の検討
更新可能なオンライン再編成を実行するRDエリアのボリューム内の物理配置を検討してください。ポイントを次に示します。
-
レプリカ作成ガイドラインを満たしているか
更新可能なオンライン再編成ではインナレプリカ機能を使用するため,レプリカ作成ガイドラインも考慮する必要があります。インナレプリカ機能に関する考慮点については,マニュアル「インナレプリカ機能 HiRDB Staticizer Option」の「インナレプリカの運用方法」の「運用前に考慮すること」を参照してください。
-
同じボリュームにインナレプリカ機能単独で使用されるRDエリアがないか
更新可能なオンライン再編成では,マスタDBとレプリカDBが一時的に切り替わるため,それとは別のレプリカを使用する作業(インナレプリカ機能を使うが更新可能なオンライン再編成を行わないRDエリア)に運用上悪い影響がないかを考慮する必要があります。
また,次のRDエリアの物理配置も検討してください。
-
追い付き反映キー対応表を格納するRDエリア
-
追い付き反映キー対応表のインデクスを格納するRDエリア
-
追い付き状態管理表を格納するRDエリア
検討のポイントについては,「(6) 追い付き反映キー対応表,追い付き状態管理表を格納するRDエリアの作成(pdmodコマンド)」を参照してください。
(2) 更新可能なオンライン再編成に関するオペランド(システム定義)の追加
次のオペランドを追加してください。各オペランドの詳細については,マニュアル「HiRDB システム定義」を参照してください。
なお,システム定義を変更したあとに,pdconfchkコマンドでシステム定義のチェックを実施してください。
-
pd_max_reflect_process_count
追い付き反映処理でHiRDBが保証するpdorend追い付き反映プロセスの同時実行数を指定します。このオペランドの留意事項については,マニュアル「インナレプリカ機能 HiRDB Staticizer Option」の「pd_max_reflect_process_countオペランドの留意事項と見積もり」を参照してください。
-
pd_log_org_reflected_logpoint
追い付き反映処理が完了したあと,システムログファイルの状態を変更するかどうかを指定します。障害の発生時にどのように対処するかによって,このオペランドの指定値を決めてください。指定値による障害対策方法の違いについては,マニュアル「インナレプリカ機能 HiRDB Staticizer Option」の「システムログとオペランドの設定」を参照してください。
通常は,keepを指定することをお勧めします。
-
pd_log_org_no_standby_file_opr
すべてのシステムログファイルがオンライン再編成上書き禁止状態の場合に,スワップが発生したときのHiRDBの処理を指定します。障害の発生時にどのように対処するかによって,このオペランドの指定値を決めてください。指定値による障害対策方法の違いについては,マニュアル「インナレプリカ機能 HiRDB Staticizer Option」の「システムログとオペランドの設定」を参照してください。
通常は,stopを指定することをお勧めします。
-
pd_lv_mirror_use = Y
pd_lv_mirror_useオペランドにY(レプリカRDエリアのオープン属性をSCHEDULEにする指定)を指定してください。更新可能なオンライン再編成の運用手順が少なくなります。また,バックエンドサーバ接続保持機能を使用する場合は,必ずYを指定してください。
指定例
set pd_max_reflect_process_count = 8 set pd_log_org_reflected_logpoint = keep set pd_log_org_no_standby_file_opr = stop set pd_lv_mirror_use = Y
また,次のオペランドの指定値を見積もり直してください。
-
pd_lck_pool_size
次の計算式で求めた値をpd_lck_pool_sizeオペランドの指定値に加算してください。
25×a (単位:キロバイト)
a:更新可能なオンライン再編成時の,pdsdblodコマンドの同時実行数(oreload文の指定があるpdsdblodコマンド)
(3) 関連RDエリアの確認(pdrdreflsコマンド)
pdrdreflsコマンドで,更新可能なオンライン再編成の対象となる関連RDエリアを確認します。
pdrdreflsコマンドの-tオプションにレコード型名を指定すると,指定したレコード型の関連RDエリアが表示されます。pdrdreflsコマンドの-rオプションにRDエリア名をすると,指定したRDエリアの関連RDエリアが表示されます。
-
レコード型を指定する場合
pdrdrefls -e org -t REC1 -l -d ','
[オプションの説明]
-e org:固定のオプションです。
-t:ルートレコードのレコード型名を指定します。
-l:出力情報の各情報を改行しないで表示する場合に指定します。
-d:-lオプション指定時の,各情報の区切り文字を半角1文字で指定します。
pdrdreflsコマンドの実行結果
"FMB01","FMBIDX"
レコード型REC1の関連RDエリアは,FMB01とFMBIDXです。
-
RDエリアを指定する場合
pdrdrefls -e org -r FMB01 -l -d ','
[オプションの説明]
-e org:固定のオプションです。
-r:ルートレコード(REC1)に対する格納レコード用RDエリアのオリジナルRDエリア名を指定します。
-l:出力情報の各情報を改行しないで表示する場合に指定します。
-d:-lオプション指定時の,各情報の区切り文字を半角1文字で指定します。
pdrdreflsコマンドの実行結果
"FMB01","FMBIDX"
RDエリアFMB01の関連RDエリアはFMBIDXです。
- 注意事項
-
更新可能なオンライン再編成を実行する場合,ここで確認した関連RDエリアを漏れなくカレントRDエリアの切り替え対象にする必要があります。すべての関連RDエリアのカレントRDエリアの変更を同じタイミングで実施しないと,オンライン業務のアクセスがエラーになります。
(4) HiRDBファイルシステム領域の世代登録(pdmodコマンド)
pdmodコマンドのcreate generation文で,HiRDBファイルシステム領域の世代登録を実行します。RDエリアおよびHiRDBファイルシステム領域の構成を次に示します。
RDエリア名 |
世代番号 |
HiRDBファイルシステム領域 |
RDエリアの種類 |
|
---|---|---|---|---|
FMB01 |
0 |
/sdb/area |
格納レコード用RDエリア |
オリジナルRDエリア |
FMBIDX |
インデクス格納用RDエリア |
|||
FMB01_1 |
1 |
/sdb/area1 |
格納レコード用RDエリア |
レプリカRDエリア |
FMBIDX_1 |
インデクス格納用RDエリア |
- pdmodコマンドの実行例
pdmod -a /usr/pdmod/crtgen
[オプションの説明]
-a:pdmodコマンドの制御文のパス名を指定します。制御文の内容を次に示します。
create generation for HiRDB file system area "/sdb/area1" ...1 server name bes1 ...2 generation number 1 ...3 reproduce "/sdb/area"; ...4
-
レプリカRDエリアのHiRDBファイルシステム領域名(/sdb/area1)を指定します。
-
RDエリアがあるBES名を指定します。
-
1.のHiRDBファイルシステム領域の世代番号を指定します。
-
オリジナルRDエリアのHiRDBファイルシステム領域名(/sdb/area)を指定します。
-
(5) レプリカRDエリアの定義(pdmodコマンド)
pdmodコマンドのreplicate rdarea文で,レプリカRDエリアの定義を実行します。「(3) 関連RDエリアの確認(pdrdreflsコマンド)」で確認したRDエリアのレプリカRDエリアを漏れなく定義してください。
この例では,レプリカRDエリアFMB01_1とFMBIDX_1を定義します。
- pdmodコマンドの実行例
pdmod -a /usr/pdmod/reparea
[オプションの説明]
-a:pdmodコマンドの制御文のパス名を指定します。制御文の内容を次に示します。
replicate rdarea FMB01_1 ...1 globalbuffer glbuf01 ...2 reproduce FMB01 ...3 generation number 1; ...4 replicate rdarea FMBIDX_1 ...1 globalbuffer glbuf02 ...2 reproduce FMBIDX ...3 generation number 1; ...4
-
レプリカRDエリア名(FMB01_1,FMBIDX_1)を指定します。
-
レプリカRDエリアに割り当てるグローバルバッファを指定します。
-
オリジナルRDエリア名(FMB01,FMBIDX)を指定します。
-
レプリカRDエリアのHiRDBファイルシステム領域の世代番号を指定します。
なお,レプリカRDエリアに割り当てるグローバルバッファは,通常,オリジナルRDエリアと同じものを割り当てます。メモリ資源に余裕がある場合は,オリジナルRDエリアと同じ面数のグローバルバッファを用意して,競合しないようにすることを推奨します。レプリカRDエリアに別のグローバルバッファを割り当てるためには,HiRDBを正常終了する必要があります。
- 注意事項
-
HiRDBの次回開始以降は,ここで指定したグローバルバッファは割り当てられません。そのため,HiRDBの終了後,システム共通定義のpdbufferオペランドでグローバルバッファを割り当ててください。
-
(6) 追い付き反映キー対応表,追い付き状態管理表を格納するRDエリアの作成(pdmodコマンド)
pdfmkfsコマンドでHiRDBファイルシステム領域を作成したあとに,pdmodコマンドで次のRDエリアを作成します。
-
RDRMT:追い付き状態管理表を格納するRDエリア(/rdb/rmt)
-
RDCRT:追い付き反映キー対応表を格納するRDエリア(/rdb/crt)
-
RDIDX:追い付き反映キー対応表のインデクスを格納するRDエリア(/rdb/crt)
( )内は,HiRDBファイルシステム領域名です。
次の手順で作成します。
-
HiRDBファイルシステム領域を作成する
pdfmkfs -n 50 -l 10 -k DB -i /rdb/rmt pdfmkfs -n 50 -l 10 -k DB -i /rdb/crt
[オプションの説明]
-n:HiRDBファイルシステム領域の領域長をメガバイト単位で指定します。
-l:HiRDBファイルシステム領域内に作成するHiRDBファイル数の上限値を指定します。
-k:HiRDBファイルシステム領域の用途を指定します。
-i:HiRDBファイルシステム領域の全領域を初期化する場合に指定します。
/rdb/rmt:作成するHiRDBファイルシステム領域の名称を指定します。
/rdb/crt:作成するHiRDBファイルシステム領域の名称を指定します。
- 注意事項
-
追い付き反映キー対応表,およびそのインデクスを格納するRDエリア用のHiRDBファイルシステム領域(この例では/rdb/crt)には,更新可能なオンライン再編成の対象RDエリアを配置することはできません。
-
RDエリアを作成する
pdmodコマンドによるRDエリアの作成方法については,マニュアル「HiRDB システム運用ガイド」の「RDエリアを作成する方法(RDエリアの追加)」を参照してください。
- 注意事項
-
-
pdmodコマンドのcreate rdarea文のdata modelオペランドには,relationalを指定してください。
-
追い付き反映処理を実行するBESごとに,追い付き反映キー対応表を格納するRDエリアを作成し,追い付き反映キー対応表を格納します。
-
追い付き反映処理を実行するBESごとに,追い付き反映キー対応表のインデクスを格納するRDエリアを作成し,追い付き反映キー対応表のインデクスを格納します。
-
追い付き反映処理を実行するBESごとに,追い付き状態管理表を格納するRDエリアを作成することを推奨します(必須ではありません)。
-
追い付き反映キー対応表と追い付き状態管理表は,別々のRDエリアに格納することを推奨します。
-
RDエリアは公用RDエリアとして作成してください。
-
(7) 追い付き反映キー対応表の作成または初期化(pdsdborcrtコマンド)
pdsdborcrtコマンドで,追い付き反映キー対応表を作成します。
pdsdborcrt -k crt -r RDCRT -i RDIDX
- [オプションの説明]
-
-k crt:追い付き反映キー対応表を作成するときに指定するオプションです。
-r:追い付き反映キー対応表を格納するRDエリアを指定します。
-i:追い付き反映キー対応表のインデクスを格納するRDエリアを指定します。
- 注意事項
-
-
更新可能なオンライン再編成の対象RDエリアが,複数のBESに存在する場合,BESごとにpdsdborcrtコマンドを実行し,各BESに追い付き反映キー対応表を作成してください。
-
追い付き反映キー対応表,およびそのインデクスは,更新可能なオンライン再編成の対象RDエリアとは別のRDエリアに格納してください。
-
なお,追い付き反映キー対応表は一度作成しておけば,次回の更新可能なオンライン再編成時に再度作成する必要はありません。ただし,この場合,追い付き反映キー対応表をpdsdborcrtコマンドで初期化する必要があります。初期化していない場合,pdorcheckコマンドの実行時にエラーとなります。
- 初期化する場合のコマンドの実行例
pdsdborcrt -k init -s bes1
[オプションの説明]
-k init:追い付き反映キー対応表を初期化するときに指定するオプションです。
-s:初期化対象の追い付き反映キー対応表があるBESを指定します。
(8) 適用条件のチェック(pdorcheckコマンド)
pdorcheckコマンドで,更新可能なオンライン再編成が実行できる条件を満たしているかどうかをチェックします。
pdorcheck -r "FMB01","FMBIDX"
- [オプションの説明]
-
-r:更新可能なオンライン再編成の対象RDエリア(オリジナルRDエリア)を指定します。「(3) 関連RDエリアの確認(pdrdreflsコマンド)」で確認したRDエリアを漏れなく指定してください。
- 注意事項
-
pdorcheckコマンドによるチェックは必ず実施してください。更新可能なオンライン再編成を適用できないRDエリアがあると,追い付き反映処理がエラーとなり,業務をオリジナルRDエリアに戻すことができなくなります(レプリカRDエリアで業務を続行することになります)。
(9) ペアボリュームの定義
更新可能なオンライン再編成の対象となるオリジナルRDエリアとレプリカRDエリアが,それぞれ定義されているボリューム(HiRDBファイルシステム領域)をペア化します。オリジナルRDエリアが定義されているボリューム(/sdb/area)への更新が,レプリカRDエリアが定義されているボリューム(/sdb/area1)に反映される状態にします。
操作方法については,使用しているミラーリング機能のマニュアルを参照してください。日立ディスクアレイサブシステムを使用している場合は,最初にマニュアル「インナレプリカ機能 HiRDB Staticizer Option」の「日立ディスクアレイサブシステム使用時の注意事項および操作手順」を参照してください。
(10) 追い付き状態管理表の作成(pdorcreateコマンド)
pdorcreateコマンドで,追い付き状態管理表を作成します。
pdorcreate -o RDRMT
- [オプションの説明]
-
-o:「(6) 追い付き反映キー対応表,追い付き状態管理表を格納するRDエリアの作成(pdmodコマンド)」で作成した追い付き状態管理表を格納するRDエリアを指定します。
- 注意事項
-
追い付き状態管理表は,更新可能なオンライン再編成の対象RDエリアとは別のRDエリアに格納してください。更新可能なオンライン再編成の対象RDエリアに,追い付き状態管理表を格納すると,追い付き反映処理が正常に実行できません。
追い付き反映処理を実行するためには,追い付き反映処理を管理するための表(追い付き状態管理表)を作成する必要があります。
(11) SDBディレクトリ情報の最終更新日時のチェック(pdsdbarc -aコマンド)
pdsdbarc -aコマンドで,常用常駐領域中のSDBディレクトリ情報の最終更新日時をチェックします。
pdsdbarc -a
- 注意事項
-
pdsdbarc -aコマンドによるチェックは必ず実施してください。SDBディレクトリ情報の最終更新日時が不整合な状態で更新可能なオンライン再編成を実行すると,データベースの不整合が発生するおそれがあります。