10.7.3 ストレージを効率良く使用するための運用
HiRDBファイルシステム領域内のHiRDBファイルを削除すると,HiRDBファイルが割り当てられていた領域は使用済み領域となります。この使用済み領域は,DPプール上のディスク割り当てが解除されないかぎり,DPプール上の実ボリュームが使われないまま確保され続けます。ここでは,使用済み領域のディスク割り当てを解除する手順と,解除をお勧めする操作について説明します。
(1) 使用済み領域のディスク割り当てを解除する手順
使用済み領域のディスク割り当てを解除する手順を次に示します。
- 〈手順〉
-
-
pdfstatfs -dコマンドで,使用済み領域のディスク割り当てを解除できるかどうか確認する。※
-
pdfzeroinitコマンドで使用済み領域にゼロデータを書き込む。
-
HDP機能のゼロデータ破棄を行う。
- 注※
-
pdfstatfs -dコマンドの実行結果の例を次に示します。
user area capacity 262129[kB] remain user area capacity 262129[kB] peak capacity 131072[kB] ......1 available file size 262129[kB] available file count 20 current file count 0 remain file count 20 free area count 0 available expand count 20 current expand count 0 ..............2 initialize area kind WORK initialize user id hirman initialize time Wed Nov 11 15:41:26 2009 area auto expand NOUSE
〔説明〕
-
現時点でのユーザ最大使用量が割り当て単位より大きいことを確認してください。例えば,割り当て単位が32MBと仮定すると,現時点でのユーザ最大使用量は128MBであるため,ディスク割り当てを解除できることになります。
-
HiRDBファイル数が0であることを確認してください。
- 注意事項
-
-
pdfzeroinitコマンドを実行すると,現時点で使用しているHiRDBファイルシステム領域全体にゼロデータを書き込みます。そのため,オンライン業務への影響を考慮して実行するようにしてください。
-
ユーザ最大使用量とDPプール上のディスク割り当て量には差異があります。ユーザ最大使用量よりDPプール上のディスク割り当て量が少ない場合にpdfzeroinitコマンドを実行すると,初期化によってDPプール上のディスク割り当て量が,ユーザ最大使用量にDPプールの割り当て単位を加算した値まで増加します。このため,DPプールが容量不足にならないように容量を監視し,DPプールの残容量がユーザ最大使用量とDPプール上のディスク割り当て量の差より十分に多い場合だけ,pdfzeroinitコマンドを実行してください。
-
pdfzeroinitコマンドは,初期化するサイズによって書き込み処理に時間が掛かります。なお,業務でアクセス中のHiRDBファイルシステム領域に対しては,pdfzeroinitコマンドを実行しないでください。実行した場合,業務に影響を与えるおそれがあります。
-
HiRDBファイルシステム領域の種別がWORKのHiRDBファイルシステム領域に対してpdfzeroinitコマンドを実行する場合は,HiRDBが停止した状態で実行してください。HiRDB稼働中に実行すると,作業表用ファイルを必要とするSQL及びユティリティに影響を与えるおそれがあります。
-
初期化対象の領域に対して,pdfstatfs-cコマンドを実行しないでください。実行した場合,pdfzeroinitコマンドで使用済みの領域を初期化できなくなります。
-
-
-
(2) 使用済み領域のディスク割り当て解除をお勧めする操作
一時的に大きなサイズのHiRDBファイルシステム領域を使用する業務で,使用済み領域のディスク割り当てを解除すると,ストレージを有効に利用できるため,効果があります。なお,効果的に使用済み領域のディスク割り当てを解除するためには,次の条件を満たしている必要があります。
- RDエリア,共用RDエリア,システムファイル,及びリスト用RDエリアの場合:
-
一つのHiRDBファイルシステム領域に一つのHiRDBファイルを作成している。
- RDエリア,及び共用RDエリアの場合:
-
一つのRDエリアに一つの表又は一つのインデクスだけを定義している。
使用済み領域のディスク割り当て解除をお勧めする操作を次の表に示します。
pdfmkfsの-kオプションの指定値 |
操作の対象となるHiRDBファイルシステム領域の種類 |
操作 |
---|---|---|
DB及びSDB |
RDエリア及び共用RDエリア |
|
SYS |
システムファイル |
|
WORK |
作業表用ファイル |
|
リスト用RDエリア |
||
(a) RDエリア削除時の使用済み領域のディスク割り当て解除
RDエリアを削除するときに,使用済み領域のディスク割り当てを解除する手順を次の図に示します。
- 注※
-
HiRDBが稼働中の場合は,ほかのプロセスからHiRDBファイルシステム領域をアクセスしていない状態で実行する必要があります。そのため,事前にサーバプロセスのリフレッシュ(pdpfresh)を行っておくことをお勧めします。
(b) RDエリア再初期化時の使用済み領域のディスク割り当て解除
RDエリアを再初期化するときに,使用済み領域のディスク割り当てを解除する手順を次の図に示します。
- 注※1
-
HiRDBファイルの削除からRDエリアの再初期化までの間に障害が発生した場合,回復用として使用するバックアップです。なお,このバックアップの取得は任意です。
- 注※2
-
HiRDBが稼働中の場合は,ほかのプロセスからHiRDBファイルシステム領域をアクセスしていない状態で実行する必要があります。そのため,事前にサーバプロセスのリフレッシュ(pdpfresh)を行っておくことをお勧めします。
- 注※3
-
ゼロデータ破棄は,次の二つの条件を満たす場合に実行できます。
-
該当するディスクの領域にアクセスしていない
-
HiRDBが停止状態,又はRDエリアがクローズ状態である
-
(c) 表の全行削除時の使用済み領域のディスク割り当て解除
表の全行削除をするときに,使用済み領域のディスク割り当てを解除するには,表の全行削除(PURGE TABLE文)を実行した後に,「RDエリア再初期化時の使用済み領域のディスク割り当て解除」を実施してください。
(d) 表,インデクスの削除時の使用済み領域のディスク割り当て解除
表,インデクスを削除するときに,使用済み領域のディスク割り当てを解除する手順を次に示します。
- 〈手順〉
-
-
「RDエリア再初期化時の使用済み領域のディスク割り当て解除」を実施する
-
表又はインデクスを削除する
- 参考
-
表又はインデクスの削除を先に実施してもエラーにはなりませんが,RDエリアの再初期化を先に実施した方が,表又はインデクスを削除するためにHiRDBが使用するリソース(排他資源,システムログ量)を少なくできます。
-
(e) 表の再編成時の使用済み領域のディスク割り当て解除
表を再編成するときに,使用済み領域のディスク割り当てを解除する手順を次の図に示します。
- 注※1
-
HiRDBファイルの削除からRDエリアの再初期化までの間に障害が発生した場合,回復用として使用するバックアップです。なお,このバックアップの取得は任意です。
- 注※2
-
HiRDBが稼働中の場合は,ほかのプロセスからHiRDBファイルシステム領域をアクセスしていない状態で実行する必要があります。そのため,事前にサーバプロセスのリフレッシュ(pdpfresh)を行っておくことをお勧めします。
- 注※3
-
ゼロデータ破棄は,次の二つの条件を満たす場合に実行できます。
-
該当するディスクの領域にアクセスしていない
-
HiRDBが停止状態,又はRDエリアがクローズ状態である
-
(f) システムログファイルの削除時の使用済み領域のディスク割り当て解除
システムログファイルを削除するときに,使用済み領域のディスク割り当てを解除する手順を次の図に示します。
(g) 作業表用ファイルを作成するSQL,ユティリティ実行後の使用済み領域のディスク割り当て解除
作業表用ファイルを作成するSQL,ユティリティの実行後に,使用済み領域のディスク割り当てを解除する手順を次の図に示します。
- 注
-
系切り替え機能を適用している場合で,現用系,予備系のそれぞれのサーバマシンに作業表用ファイルのHiRDBファイルシステム領域を作成しているときは,系を切り替えた後,待機系で手順2.〜4.を実施してください。