5.13.2 運用前に考慮すること
更新可能なオンライン再編成の運用前に知っておく必要がある制限事項および注意事項について説明します。
- 〈この項の構成〉
(1) 制限事項
-
RDエリアの状態がオンライン再編成閉塞の場合,次の表に示すようにSDBデータベースの操作が制限されます。
表5‒4 制限されるSDBデータベースの操作 項番
SDBデータベースの操作
実行可否
オリジナルRDエリア
レプリカRDエリア
1
SDBデータベースを操作するAPI
×
○※
2
pdsdblodコマンド
○
×
3
pdsdbrogコマンド
○
×
4
pdsdbdefコマンド
×
×
5
pdmodコマンド
ただし,次の操作は実行できます。
-
RDエリアの再初期化
-
RDエリアの拡張
-
RDエリアのレプリカ定義
-
RDエリアの構成情報複写(複写元)を除く
×
×
6
pddbchgコマンド
×
×
- (凡例)
-
○:実行できます。
×:実行できません。
- 注※
-
実行できるSDBデータベースを操作するAPIは,更新ログ取得方式がログ取得モードかログレスモードかで異なります。
ログ取得モードの場合,次のSDBデータベースを操作するAPIだけが実行できます。
・レコードの格納(STORE)
・レコードの削除(ERASE)
ただし,ルートレコードに対しては実行できません。
・レコードの更新(MODIFY)
・レコードの検索(FETCH)
・複数レコードの検索(FETCHDB ALL)
ログレスモードの場合,次のSDBデータベースを操作するAPIで,アクセスモード1に'R'(参照モード)を指定するときにだけ実行できます。
・レコードの検索(FETCH)
・複数レコードの検索(FETCHDB ALL)
-
-
クライアント環境定義のPDDBORGUAPオペランドは指定できないため,マニュアル「インナレプリカ機能 HiRDB Staticizer Option」の「オンライン業務と更新バッチ処理の同時実行」で説明している運用はできません。
-
更新可能なオンライン再編成では,同一BES内でリレーショナルDBを格納するRDエリアとSDBデータベースを格納するRDエリアを同じタイミングで再編成できません。pdorbeginコマンドに指定するRDエリアには,1つのBESでリレーショナルDBを格納するRDエリアとSDBデータベースを格納するRDエリアを混在させることはできません。そのため,リレーショナルDBを格納するRDエリアとSDBデータベースを格納するRDエリアは別々に再編成してください。
(2) システム構成に関する注意事項
-
更新可能なオンライン再編成は,4V FMBのSDBデータベースに対してだけ実行できます。そのため,4V FMBのSDBデータベースのインデクスと,4V AFMのSDBデータベースのインデクスを同じRDエリアに格納している場合,その4V FMBのSDBデータベースは更新可能なオンライン再編成ができません。
- 参考
-
4V FMBのSDBデータベースのインデクスと,4V AFMのSDBデータベースのインデクスが同じRDエリアに格納されていないかどうかは,pdorcheckコマンドでチェックできます。
-
更新可能なオンライン再編成の対象となる関連RDエリアは,BESごとに同一ボリュームに作成してください。関連RDエリアとは,次のRDエリアのことです。
-
レコード型を格納するRDエリア
-
インデクスを格納するRDエリア
(例)
また,同一ボリュームに作成した関連RDエリアは,同じタイミングで更新可能なオンライン再編成を実行する必要があります。
- 参考
-
関連RDエリアはpdrdreflsコマンドで確認できます。
-
(3) 更新可能なオンライン再編成実行時の注意事項
-
更新可能なオンライン再編成を開始すると,追い付き反映処理が終了するまで,同じBES内のほかのRDエリアに対して,更新可能なオンライン再編成を実行することはできません。
-
複数のRDエリアに対してSDBデータベースの再編成を実行する場合は,全RDエリアの再編成処理が完了したあとに,追い付き反映処理を実行してください。
-
複数のRDエリアに対してSDBデータベースの再編成を実行する場合は,再編成処理に掛かる時間が同じくらいのRDエリアを選択することを推奨します。
-
レプリカRDエリアに対するトランザクション処理が多く,追い付き反映処理が最大待ち時間内に終了しなかった場合,トランザクション処理量を制限してから追い付き反映処理を再実行してください。追い付き反映処理の最大待ち時間は,pdorendコマンドの-wオプションで指定します。
-
オンライン再編成閉塞のRDエリアがある場合,HiRDBの正常終了またはBESの正常終了ができません(計画停止はできます)。HiRDBの正常終了またはBESの正常終了をしたい場合は,次のどちらかの方法でRDエリアのオンライン再編成閉塞を解除してください。
-
pdorendコマンドによる追い付き反映処理を完了して,オンライン再編成閉塞を解除する
-
pdorbegin -uコマンドでRDエリアのオンライン再編成閉塞を解除する
-
(4) 追い付き反映キー対応表に関する注意事項
(a) 追い付き反映キー対応表を格納するRDエリアに関する注意事項
-
更新可能なオンライン再編成の対象RDエリアが,複数のBESに存在する場合,各BESに追い付き反映キー対応表を作成する必要があります。そのため,追い付き反映キー対応表を格納するRDエリアを各BESに作成しておく必要があります。
-
追い付き反映キー対応表へのデータ登録時に,追い付き反映キー対応表を格納するRDエリアの容量不足が発生すると,データロードまたは追い付き反映処理がエラーになります。そのため,RDエリアの容量見積もりを必ず実施してください。RDエリアの容量見積もり方法については,「3.5.6 ユーザ用RDエリア(追い付き反映キー対応表を格納する)の容量の見積もり【4V FMB】」を参照してください。
RDエリアの容量不足が発生した場合,追い付き反映キー対応表を初期化する必要があります。その場合,BES内の更新可能なオンライン再編成の対象RDエリアの情報がすべて削除されます。そのため,データロードが完了しているRDエリアも,データロードを再実行する必要があります(BESが異なる場合は,データロードを再実行する必要はありません)。
(b) データロードの再実行前に追い付き反映キー対応表を初期化するときの注意事項
障害などの発生によって,データロードの再実行が必要となった場合は,データロードを再実行する前に,追い付き反映キー対応表をpdsdborcrtコマンドで初期化する必要があります。初期化しない場合(更新可能なオンライン再編成の対象RDエリアに関する情報が,追い付き反映キー対応表に登録されたままの場合),データロードの再実行がエラーになります。
ただし,追い付き反映キー対応表を初期化すると,BES内の更新可能なオンライン再編成の対象RDエリアの情報がすべて削除されます。そのため,データロードが完了しているRDエリアも,データロードを再実行する必要があります(BESが異なる場合は,データロードを再実行する必要はありません)。
なお,更新可能なオンライン再編成の実行中に,追い付き反映キー対応表を初期化または削除する必要が生じた場合は,pdsdborcrtコマンドの実行後に警告メッセージと確認メッセージが出力されます。次の流れで応答してください。
-
警告メッセージ(KFPT82005-W)が出力されます。KFPT82005-Wメッセージに出力されたBES名を確認してください。
-
1.で確認したBES内に,オンライン再編成閉塞のRDエリアがあるかどうかをpddblsコマンドで確認してください。
-
確認メッセージ(KFPT82006-Q)が出力されます。追い付き反映キー対応表を初期化または削除する場合はyを,初期化または削除をやめる場合はnを指定してください。
- 注意事項
-
次のどちらかの条件を満たす場合は,yを応答してください。
-
BES内にオンライン再編成閉塞のRDエリアがない場合
-
データロード時や追い付き反映処理時に障害が発生し,追い付き反映キー対応表の初期化または削除が必要な場合
上記の条件を満たさない場合は,必ずnを応答してください。上記の条件を満たさない場合にyを指定すると,SDBデータベースの内容が不整合な状態になるおそれがあります。
-
(5) アンロードデータファイルに関する注意事項
(a) アンロードデータファイルの作成に関する注意事項
アンロード時に作成したアンロードデータファイルを,データロード時の入力データファイルにしてください。ほかの方法で作成したアンロードデータファイルを入力データファイルにした場合,SDBデータベースの内容が不整合になります。
(b) アンロードデータファイルの保管に関する注意事項
更新可能なオンライン再編成の操作が完了するまで,アンロードデータファイルを削除しないでください。アンロードデータファイルを削除してしまうと,追い付き反映キー対応表の障害などによって,データロードから操作を再実行する必要がある場合に,データロードの再実行ができなくなります。この場合,更新可能なオンライン再編成を中止し,レプリカRDエリアの更新データをオリジナルRDエリアに反映して,オリジナルRDエリアを回復する必要があります。
なお,データロードが正常終了したあと(KFPB63012-Iメッセージが出力されたあと)に,データロードの再実行が必要になった場合,アンロードを再実行してアンロードデータファイルを作成しても,アンロードデータファイルの内容はデータロード後の内容になっています。このアンロードデータファイルを入力データファイルに指定した場合,SDBデータベースの内容が不整合になります。
(c) アンロードデータファイルの内容を変更する際の注意事項
アンロードデータファイルの内容を変更し,データロード時の入力データファイルにする場合,次の変更だけができます。
-
ファミリ単位の追加
-
ファミリ単位の削除
-
ページ切り替えフラグの設定
-
事前割り当てページ数の設定
上記以外の変更をした場合は,SDBデータベースの内容が不整合になるおそれがあります。
また,ファミリ単位の削除を行ったレコードに対して,カレントRDエリアで更新が発生した場合,オリジナルRDエリアでは対応するレコードがないため,追い付き反映処理で実行されるAPI(HiRDB/SDが内部的に発行するAPI)でエラーが発生します。このエラーをスキップし,追い付き反映処理を続行したい場合は,pdorendコマンドに-fオプションを指定して,追い付き反映制御ファイルに次の指定をしてください。
-
reflection文のdml_errorオペランドにskipを指定する
詳細については,「5.13.10 追い付き反映処理時にHiRDB/SDが内部的に発行するAPIのエラーをスキップしたい場合」を参照してください。
(6) HiRDBの再起動を必要としないSDBデータベースの定義追加,定義変更との関連
-
更新可能なオンライン再編成の実行中に,pdsdbarc -w -qコマンドによる事前常駐領域と常用常駐領域の切り替えを行うと,更新可能なオンライン再編成の処理中に整合性エラーが発生します。そのため,次に示す操作の開始から終了までの間は,更新可能なオンライン再編成の対象SDBデータベースに対して,HiRDBの再起動を必要としないSDBデータベースの定義追加,定義変更の作業(SDBディクショナリ情報の作成からトランザクション静止化解除までの作業)を実施しないでください。
ただし,更新可能なオンライン再編成の操作より前であれば,HiRDBの再起動を必要としないSDBデータベースの定義追加,定義変更の次の作業は実施できます。
-
SDBディクショナリ情報の作成から,TP1/FSPのSDB定義情報領域(副)にSDB定義情報を格納するまで
-
-
HiRDBの再起動を必要としないSDBデータベースの定義追加によって追加した4V FMBのSDBデータベースに対する更新可能なオンライン再編成は,SDBデータベースの定義追加が完了するまで実行できません。追加中の4V FMBのSDBデータベースに対する適用条件のチェック(pdorcheckコマンド)でエラーになります。
-
SDBデータベースの定義変更でレコード型を追加し,その二次インデクスを格納するために追加したRDエリアは,ディクショナリ表中のSDBディクショナリ情報が更新されると,pdrdreflsコマンドの実行結果の関連RDエリアとして表示されます(「5.7.5(2) SDBディクショナリ情報を変更する」の操作が終わると,関連RDエリアとして表示されます)。ただし,この時点では,追加したRDエリアは,pdrdreflsコマンドの実行結果の関連RDエリアとして表示されますが,更新可能なオンライン再編成の対象にはできません。SDBデータベースの定義変更の操作が完了するまで,更新可能なオンライン再編成の対象にはできません。
各コマンドでの注意事項を次に示します。
-
pdrdreflsコマンド
二次インデクスを格納するために追加したRDエリアが,関連RDエリアとして表示されますが,更新可能なオンライン再編成の対象にはできません。
-
pdorcheckコマンド
二次インデクスを格納するために追加したRDエリアを,pdorcheckコマンドの-rオプションに指定すると,更新可能なオンライン再編成を実行できない旨のチェック結果が返ってきます。二次インデクスを格納するために追加したRDエリアを指定しないで,pdorcheckコマンドを実行してください。
-
pdorbeginコマンド
-tオプション(レコード型名指定)は指定できません。-rオプション(RDエリア名指定)を指定して,pdorbeginコマンドを実行してください。-rオプションに指定するRDエリアには,二次インデクスを格納するために追加したRDエリアを指定しないでください。
なお,-tオプションを指定すると,二次インデクスを格納するために追加したRDエリアも,処理対象RDエリアに含まれるため,更新可能なオンライン再編成の処理が正しく実行されません(途中でエラーになるか,または何も実行されないで正常終了します)。
-
(7) 系切り替え機能との関連
追い付き反映処理中に系の切り替えが発生した場合,pdorendコマンドが異常終了します。追い付き反映処理が終了しない状態が長く続くと,オンライン側(業務実行側)のレプリカRDエリアの更新情報がシステムログに蓄積され続けるため,システムログ量が見積もり値を超えるおそれがあります。そのため,系切り替えが発生した場合は,できるだけ早くpdorendコマンドを再実行するようにしてください。
(8) 追い付き反映処理時の格納配置制御
追い付き反映処理時の格納配置制御に関するオプションの適用可否を次の表に示します。
追い付き反映処理の種別 |
格納配置制御に関するオプション |
||
---|---|---|---|
ページ切り替えオプション |
PCTFREE有効化オプション |
事前割り当てページ数 |
|
レコードの格納(STORE)の更新追い付き反映処理 |
○ |
○ |
○ |
レコードの削除(ERASE)の回復追い付き反映処理 |
× |
× |
− |
(9) 更新可能なオンライン再編成中に整合性エラーが発生した場合
更新可能なオンライン再編成中に,誤ってpdsdbarc -w -qコマンドを実行したり,系切り替えが発生したりすると,整合性エラーが発生するおそれがあります。整合性エラーが発生した場合,更新可能なオンライン再編成を続行するか,または中止するかを判断してください。
中止する場合は,レプリカRDエリアの更新データをオリジナルRDエリアに反映し,オリジナルRDエリアで業務を再開します。更新可能なオンライン再編成を中止する場合の手順については,「5.23 障害が発生したときの対処方法(更新可能なオンライン再編成の実行時)【4V FMB】」を参照してください。
更新可能なオンライン再編成を続行する場合は,常用常駐領域のSDBディレクトリ情報を変更前の状態に戻し,そのあとにエラーとなったコマンドを再実行してください。SDBディレクトリ情報を変更前の状態に戻す方法については,「5.7.7 障害発生時の対処(定義追加または定義変更前の状態に戻す場合)」を参照してください。更新可能なオンライン再編成を続行する際の手順については,「5.23 障害が発生したときの対処方法(更新可能なオンライン再編成の実行時)【4V FMB】」を参照してください。