15.11.3 使用中空きセグメントの再利用
(1) 使用中空きセグメントの解放
空きページ解放ユティリティを実行すると,使用中空きセグメントを未使用セグメント化して再利用できます。これを使用中空きセグメントの解放といいます。使用中空きセグメントの解放を次の図に示します。
(2) 使用中空きセグメントを解放したときの効果
一度使用されたセグメントは使用している表(又はインデクス)だけが使用でき,ほかの表は使用できません。使用中空きセグメントを解放して使用中空きセグメントを未使用セグメント化すると,その未使用セグメントをほかの表が使用できるようになります。
(3) 運用方法
空きページ解放ユティリティ又はデータベース状態解析ユティリティの実行結果から使用中空きセグメントを解放するかどうかを決めてください。大量の使用中空きセグメントがある場合に実行してください。
(a) システムログファイルの容量を見積もる
使用中空きセグメントを解放するときにデータベースの更新ログを取得するため,システムログファイルの容量を見積もり直してください。システムログファイルの容量見積もりについては,マニュアル「HiRDB システム導入・設計ガイド」を参照してください。
(b) 空きページ解放ユティリティを実行する
空きページ解放ユティリティで使用中空きセグメントを解放します。
空きページ解放ユティリティ実行時のオプション指定値によるメリットとデメリットを次に示します。
オプション の指定値 |
メリット |
デメリット |
---|---|---|
-j |
RDエリアを占有するため,高速に処理でき,-aオプションと比べて実行時間が短くなります。 |
RDエリアを占有するため,ほかのUAPが処理対象のRDエリアにアクセスできなくなり,待ち状態になります※。 |
-a |
ほかのUAPと同時実行できます。 |
内部的に複数フェーズに分けて処理するため,-jオプションと比べて実行時間が長く,出力するシステムログの量も多くなります。 |
- 注※
-
UAPを待ち状態にしないでエラーリターンする場合は,pdholdコマンドでRDエリアを閉塞してからユティリティを実行してください。
基本的に-jオプションをお勧めします。-jオプション指定で空きページ解放ユティリティを実行する間オンラインサービスを停止できない場合などは,比較的トラフィックが空いている時間帯に-aオプション指定で空きページ解放ユティリティを実行してください。
(c) 実行結果を確認する
空きページ解放ユティリティの実行結果を参照して,予定どおりの使用中空きセグメントが解放されているかを確認してください。
なお,-aオプション指定で空きページ解放ユティリティを実行中に,ユティリティ又はHiRDBが異常終了した場合は,データベース状態解析ユティリティ(pddbst)で該当する表又はインデクスを解析し,解放途中セグメント(解放処理が途中のため,再利用できない状態のセグメント)がないことを確認してください。
(d) 空きページ解放ユティリティが異常終了した場合
- -jオプション指定時
-
空きページ解放ユティリティが異常終了すると,ユティリティ実行前の状態(何もしていない状態)になるため,空きページ解放ユティリティを再実行してください。なお,空きページ解放ユティリティを再実行しなくても問題はありませんが,使用中空きセグメントは解放されません。ユティリティ実行中にHiRDBが異常終了した場合も同様です。
- -aオプション指定時
-
空きページ解放ユティリティが異常終了すると,解放途中セグメントが残ることがあります。解放途中セグメントが残っていた場合,次に示すどちらかの対処をしてください。
-
空きページ解放ユティリティを再実行する
-
データベース再編成ユティリティ(pdrorg)で表,又はインデクスの再編成をする
ユティリティ実行中にHiRDBが異常終了した場合も同様です。
-