10.1.2 リバランスユティリティの動作モード
リバランスユティリティの動作モードを次の表に示します。
動作モード |
説 明 |
---|---|
共有モード |
pdrbal実行中に表をアクセスできます。 24時間運転などでオンライン業務を停止できないシステムの場合に適用してください。 |
占有モード |
pdrbal実行中は表をアクセスできません。 表に対するアクセスを停止できて,夜間にバッチ処理が実行できるシステムの場合に適用してください。 |
(1) 共有モード
共有モードの場合,リバランスユティリティの実行中でも,その表に対してほかからアクセスできます。共有モードで実行する場合は,-kオプションにshareを指定します。
共有モードの場合,ログの取得が必要となります。また,同時実行するSQLなどと競合する資源の確保,解放処理が複数回必要となるため,リバランス処理に掛かる時間は占有モードより長くなります。
共有モードで圧縮表のリバランスを実行する場合も,圧縮列がない場合に比べてリバランス処理に掛かる時間が長くなることがあります。これは,圧縮列のデータを移動するときにデータの伸張及び圧縮を行うためです。この場合,KFPL33509-Wメッセージが出力されますが,リバランス処理は続行されます。実行時間を短縮したい場合は,pdcancelコマンドで共有モードのリバランス処理を中断し,占有モードで実行し直してください。
- <推奨する運用方法>
-
共有モードでリバランスユティリティを実行する場合,リバランス表へのトラフィックの少ない時間帯を選ぶようにしてください。共有モードでのリバランスユティリティの運用例を次の図に示します。
図10‒3 共有モードでのリバランスユティリティの運用例
(2) 占有モード
占有モードの場合,リバランスユティリティ実行中はその表に対してアクセスできません。占有モードで実行する場合は,-kオプションにexclusiveを指定します。
占有モードの場合,ログの取得は任意となります。また,資源の確保,解放処理は1回だけとなり,更にインデクス一括作成もできるため,リバランス処理に掛かる時間は共有モードに比べると短くなります。
- <推奨する運用方法>
-
占有モードでリバランスユティリティを実行する場合,リバランス表へのアクセスのない時間帯を選ぶようにしてください。占有モードでのリバランスユティリティの運用例を次の図に示します。
図10‒4 占有モードでのリバランスユティリティの運用例