20.18.3 アンロードデータファイルを一元化しないときに異常終了した場合の対処方法(HiRDB/パラレルサーバ限定)
表を複数のバックエンドサーバに横分割している場合,アンロードデータファイルを一元化(データベース再編成ユティリティで-gオプションを指定)することをお勧めしました。アンロードデータファイルを一元化しないと,ユティリティが異常終了した場合に対処方法が複雑になります。
ここでは,何らかの事情によってアンロードデータファイルを一元化しないで,同期点指定の再編成又は同期点指定のリロード中にユティリティが異常終了したときの対処方法を説明します。
- 〈この項の構成〉
(1) 対処方法の概要
アンロードデータファイルを一元化しない場合,サーバごとに再編成処理が完了したかどうかを確認する必要があります。次の図に示すシステム構成の場合を例にして説明します。
- 〔説明〕
-
アンロードデータファイルを一元化していない場合,BES1の再編成処理がアンロード中に,BES2の再編成処理がリロード中に異常終了することがあります。この場合,ユティリティの制御情報ファイルの指定を変更する必要があります。また,ユティリティもサーバごとに再実行する必要があります。この例だと2回実行することになります。
このように,異常終了したタイミングを考慮して,サーバごとにデータベース再編成ユティリティを再実行する必要があります。
(2) 例題
アンロードデータファイルを一元化しないで,同期点指定の再編成をしました。システム構成は図「表を複数のバックエンドサーバに横分割している場合の例」のとおりとします。BES1の再編成処理はアンロード中に,BES2の再編成処理はリロード中に異常終了したとします。
(a) 異常終了したときのデータベース再編成ユティリティの指定
異常終了したときのデータベース再編成ユティリティの制御情報ファイル及びコマンド指定を次に示します。
●制御情報ファイル(/pdrorg/rorg01)の指定
option job=j01,200 unload BES1:/unload/file01 unload BES2:/unload/file02
●pdrorgコマンドの指定
pdrorg -k rorg -t TABLE1 /pdrorg/rorg01
(b) 再実行するときのデータベース再編成ユティリティの指定
BES1の表に対しては,再編成処理を再度実行する必要があります。BES2の表に対しては,リロード処理を実行する必要があります。したがって,BES1,BES2でそれぞれデータベース再編成ユティリティを実行します。
再実行するときのデータベース再編成ユティリティの制御情報ファイル及びコマンド指定を次に示します。
●制御情報ファイル(/pdrorg/rorg01)の指定
option job=j01,200 unload BES1:/unload/file01
●制御情報ファイル(/pdrorg/rorg02)の指定
option job=j01,200 unload BES2:/unload/file02
●pdrorgコマンドの指定
pdrorg -k rorg -t TABLE1 /pdrorg/rorg01 pdrorg -k reld -t TABLE1 /pdrorg/rorg02