2.5.3 空きページおよび空きセグメントを解放する
データの削除によって生じた空きページおよび空きセグメントを解放して,未使用状態に戻します。空きページおよび空きセグメントを解放する前提条件と解放方法について次に説明します。
- 注意事項
-
空きページだけでなく空きセグメントも必ず解放してください。
(1) 前提条件
空きページおよび空きセグメントを解放するには,次の状態を満たす必要があります。
-
HCSCサーバが停止状態であること。
-
データベースが起動状態であること。
OSのシステム環境変数(PDHOST,PDNAMEPORT,PDUSER)に,組み込みデータベースとは異なるHiRDBサーバの接続情報を設定していない状態である必要があります。設定している場合,HiRDBコマンドプロンプト起動後にsetコマンドでシステム環境変数を削除してください。
(2) 解放方法
空きページおよび空きセグメントを解放する方法を次に示します。なお,パスワードの入力を求められた場合は,「admin」を入力してください。
-
Windowsの[スタート]メニューの[プログラム]から,[HiRDBSingleServer_CS0]−[HiRDBコマンドプロンプト]を選択します。
組み込みデータベースを操作する環境変数が設定されます。
-
pdreclaimコマンドを実行し,使用中空きページを解放します。
使用中空きページ(データの削除によってデータが格納されていないページ)を解放して,未使用ページにします。
pdreclaimコマンドの詳細については,マニュアル「HiRDB コマンドリファレンス」を参照してください。
pdreclaimコマンドの実行形式を次に示します。
- 表の使用中空きページを解放する場合
pdreclaim -u admin -k table -t all -o
- インデクスの使用中空きページを解放する場合
pdreclaim -u admin -k index -t all
-
pdreclaimコマンドを実行し,使用中空きセグメントを解放します。
使用中空きセグメント(セグメント内の全ページが空きページになっているセグメント)を解放して,未使用セグメントにします。
pdreclaimコマンドの詳細については,マニュアル「HiRDB コマンドリファレンス」を参照してください。
pdreclaimコマンドの実行形式を次に示します。
- 表の使用中空きセグメントを解放する場合
pdreclaim -u admin -k table -t all -o -j
- インデクスの使用中空きセグメントを解放する場合
pdreclaim -u admin -k table -t all -j
-
未使用領域の不足が解消されたかを確認します。
確認方法については,「2.5.1 RDエリアの未使用領域を確認する」を参照してください。