5.13.1 更新可能なオンライン再編成の概要
(1) 更新可能なオンライン再編成の流れ
更新可能なオンライン再編成の場合,オリジナルRDエリアでSDBデータベースの再編成処理を行い,レプリカRDエリアでUAPからの参照および更新処理を行います。オリジナルRDエリアでの再編成処理が完了したあとに,レプリカRDエリアに対して実行された更新処理の内容をオリジナルRDエリアに反映します。
更新可能なオンライン再編成の処理の流れを次の図に示します。
- [説明]
-
図中の丸付き数字は,次の番号に対応しています。
-
pdorbeginコマンドを実行した時点が,更新可能なオンライン再編成の開始時点となります。pdorbeginコマンドを実行すると,オリジナルRDエリアおよびレプリカRDエリアの状態がオンライン再編成閉塞になります。
-
オリジナルRDエリアのSDBデータベースに対して,再編成処理(アンロード処理およびデータロード処理)を実行します。UAPからの参照および更新処理は,カレントRDエリアで実行されます。
-
pdorendコマンドを実行すると,レプリカRDエリアに対して実行された更新処理の内容を,オリジナルRDエリアに反映します。この処理を追い付き反映処理といいます。
-
次の期間は,UAPからの参照および更新処理が排他待ち状態になります。
・更新可能なオンライン再編成の開始時点からカレントRDエリアの切り替え完了後
・追い付き反映処理中のオリジナルRDエリアとカレントRDエリアの同期を取得する期間
-
(2) SDBデータベースの再編成処理の概要
SDBデータベースの再編成は,インナレプリカ機能を使用しないときと同様に,pdsdbrogコマンドでいったんレコードをアンロードし,その後pdsdblodコマンドでデータロードすることで実現します。SDBデータベースの再編成処理の概要を次の図に示します。
- [説明]
-
図中の丸付き数字は,次の番号に対応しています。
-
pdsdbrogコマンドを実行して,オリジナルRDエリアのレコードをアンロードします。この例では,SDBデータベースを横分割しているため,RDエリア単位にアンロードを実行しています。
-
pdsdblodコマンドを実行して,オリジナルRDエリアにデータロードします。この例では,SDBデータベースを横分割しているため,RDエリア単位にデータロードを実行しています。
-
データロードの際,オリジナルRDエリアとレプリカRDエリアのデータを対応づける情報が,追い付き反映キー対応表に登録されます。ここで登録された情報が追い付き反映処理時に使用されます。また,このとき,追い付き反映キー対応表のインデクスも作成されます。
-
追い付き反映キー対応表,およびそのインデクスは,BES単位に作成されます。
-
- 参考
-
-
追い付き反映キー対応表にユーザはアクセスできません。
-
再編成対象のRDエリアがオンライン再編成閉塞の場合に,更新可能なオンライン再編成として処理されます。
-
(3) 追い付き反映処理の概要
レプリカRDエリアのSDBデータベースに対して実行された更新処理の内容を,オリジナルRDエリアのSDBデータベースに反映します。これを追い付き反映処理といいます。追い付き反映処理の概要を次の図に示します。
- [説明]
-
-
pdorendコマンドを実行すると,追い付き反映処理が開始されます。追い付き反映処理はBES単位に実行されます。
-
レプリカRDエリアのSDBデータベースに対する更新情報(システムログ)を入力情報にして,オリジナルRDエリアのSDBデータベースを更新します(HiRDBが内部的にAPIを発行して,オリジナルRDエリアのSDBデータベースを更新します)。このとき,追い付き反映キー対応表に登録された情報を使用して,レプリカRDエリアに対する更新情報とオリジナルRDエリアの反映先データとの対応づけを行います。
-
システムログの更新情報の読み込みが完了すると,オリジナルRDエリアとレプリカRDエリアの同期を取るために,RDエリアにアクセスするトランザクションを排他待ち状態にします。
このあと,カレントRDエリアをレプリカRDエリアからオリジナルRDエリアに切り替えて,オンライン再編成閉塞を解除します。
-
追い付き反映処理が完了すると,RDエリアを次の状態にして,オリジナルRDエリアで業務を再開します(RDエリアにアクセスするトランザクションの排他待ち状態を解除します)。
・オリジナルRDエリア:オープン状態
・レプリカRDエリア:コマンド閉塞かつクローズ状態
-