13.11.4 リバランスユティリティの使い方(表のリバランス処理に時間が掛かる場合)
ここでは,表のリバランス処理(リバランスユティリティの処理)に時間が掛かる場合のリバランスユティリティの使い方を説明します。
- 〈この項の構成〉
(1) 共有モードでの使い方
共有モードの場合は,リバランス表へのアクセスと同時にリバランス処理を行えます。よって,24時間運転などオンラインを停止できない場合に有効です。ここでは,システムの24時間運転を前提とした説明を行います。
- ●使い方の指針
-
-
比較的トラフィックが空いている時間帯にリバランスユティリティを実行します。
-
1回のリバランスユティリティで処理が終了しない場合は,複数回に分けてリバランスユティリティを実行します。
-
- ●運用例
-
21:00から9:00までの間,比較的トラフィックが空いています。この場合,21:00にリバランスユティリティを実行し,制御文ファイルのexecstop timeオペランドで12時間ユティリティを実行する指定をします。
- ●コマンド指定例
pdrbal -k share -t TABLE01 -c 100 C:\pdrbal\cfile01
- ●制御文ファイルの内容
execstop time,12:00
- ●リターンコードについて
-
12時間経過しても(9:00になっても)リバランス処理が終了しない場合,リバランスユティリティがリターンコード4で終了し,リバランス処理をいったん中断します。21:00になったら再度リバランスユティリティを実行してください。これを毎日繰り返してください。リバランス処理が終了すると,リターンコードが0で返ってきます。
(2) 占有モードでの使い方
占有モードの場合,リバランスユティリティ実行中はリバランス表に対してアクセスできません。
- ●使い方の指針
-
-
リバランス表のアクセスを停止できる時間帯にリバランスユティリティを実行します。
-
1回のリバランスユティリティで処理が終了しない場合は,複数回に分けてリバランスユティリティを実行します。
-
- ●運用例
-
23:00から5:00までの間,リバランス表のアクセスを停止できます。この場合,23:00にリバランスユティリティを実行し,制御文ファイルのexecstop timeオペランドで6時間ユティリティを実行する指定をします。
- ●コマンド指定例
pdrbal -k exclusive -t TABLE01 C:\pdrbal\cfile01
- ●制御文ファイルの内容
execstop time,6:00
- ●リターンコードについて
-
6時間経過しても(5:00になっても)リバランス処理が終了しない場合,リバランスユティリティがリターンコード4で終了し,リバランス処理をいったん中断します。23:00になったら再度リバランスユティリティを実行してください。これを毎日繰り返してください。リバランス処理が終了すると,リターンコードが0で返ってきます。
- ●インデクスを定義している場合の注意事項
-
インデクスを定義した表をインデクス一括作成モードで処理する場合,execstop timeオペランドで指定した時間でリバランスユティリティが終了しないことがあります。これはインデクスの作成が完了しないと,リバランスユティリティを終了できないためです。したがって,インデクス一括作成モードで処理する場合は,execstop timeオペランドの指定値に余裕を持たせてください。