2.32.1 pdffsckの形式と規則
(1) 機能
HiRDBファイルシステム領域の整合性を検証して,不整合があれば修復します。また,不整合を検知した場合は,検知したファイル又は領域を表示します。
pdffsckコマンドは,次のどちらかに該当する場合に実行します。
-
pdflsコマンド実行時にKFPI21586-Wメッセージが表示された場合
-
HiRDBファイルシステム領域が,本来の容量より少ない容量しか使用できなくなった場合(例えば,100ギガバイト使えるはずが80ギガバイトまでしか使えないなど)
整合性の検証内容と修復方法を次に示します。
対象 |
検証内容 |
原因 |
修復方法 |
---|---|---|---|
HiRDBファイル |
使用できないHiRDBファイルの有無 |
ファイルの作成,又は削除処理の中断 |
未使用状態として管理します。また,割り当てられていた領域は空き領域として管理します。 |
HiRDBファイル内の領域 |
空き領域リスト,及びファイル管理テーブルのどちらからも参照されない領域の有無 |
ファイルの拡張(自動増分)処理の中断 |
孤立している領域を空き領域として管理します。 |
HiRDBファイルシステム領域の管理情報 |
HiRDBファイルシステム領域の管理領域に格納されている統計情報の矛盾 |
ファイルの作成,又は削除処理の中断 |
各検証が終了した状態で,ファイル数の統計情報などを修正します。 |
(2) 実行者
HiRDB管理者が実行できます。
(3) 形式
pdffsck 〔-c〕 HiRDBファイルシステム領域名
(4) オプション
(a) -c
HiRDBファイルシステム領域の検証だけをするときに指定します。-cオプションを指定した場合,HiRDBファイルシステム領域の修復はしません。
(5) コマンド引数
(a) HiRDBファイルシステム領域名 〜<パス名>((165文字以内))
HiRDBファイルシステム領域の名称を指定します。
(6) 規則
-
pdffsckコマンドは,-cオプションありの場合は,HiRDBの稼働に関係なく実行できます。-cオプションなしの場合は,HiRDBファイルシステム領域の使用目的ごとに次のように実行してください。
-
-k DBのHiRDBファイルシステム領域の場合
HiRDBファイルシステム領域内のすべてのRDエリアを,pdhold -cコマンドでコマンド閉塞かつクローズ状態にして,pdpfreshコマンドで稼働中のプロセスを終了させた後に実行してください。また,pdffsckコマンドを実行した後は,pdrelsコマンドですべてのRDエリアの閉塞状態を解除してください。
-
-k SYSのHiRDBファイルシステム領域の場合
pdlogswapコマンドでシステムログファイルをスワップして,pdlogclsコマンドでクローズ状態にした後に実行してください。また,pdffsckコマンドを実行した後は,pdlogopenコマンドでシステムログファイルを稼働中のHiRDBで使用できるようにしてください。
-
-k UTLのHiRDBファイルシステム領域の場合
ユティリティで使用中の場合は,ユティリティの処理が終了した後に実行してください。
-
-k WORKのHiRDBファイルシステム領域の場合
HiRDB稼働中には修復できないため,HiRDBを停止してから実行してください。
-
-
-cオプションありのpdffsckコマンドは,他プロセス又は他ユーザがアクセスしているHiRDBファイルシステム領域に対して実行できます。-cオプションなしのpdffsckコマンドは,他プロセス又は他ユーザがアクセスしているHiRDBファイルシステム領域に対しては実行できません。
-
pdffsckコマンドは,HiRDBファイルシステム領域があるサーバマシンごとに実行してください。
-
-k SDBのHiRDBファイルシステム領域に対してpdffsckコマンドを実行する場合,更新可能バックエンドサーバがあるサーバマシンから実行してください。
(7) 注意事項
-
I/Oエラーが発生した場合は処理を中止します。
-
対象とするHiRDBファイルシステム領域に作成されているHiRDBファイルは,pdflsコマンドで確認できます。
-
RDエリアの自動増分機能適用時にHiRDBファイルシステム領域を検証する場合は,検証処理が終了するまで自動増分はしないで,検証処理終了後に自動増分を実行します。対象となるHiRDBファイルシステム領域に,RDエリアの自動増分機能を適用しているかどうかは,pdfstatfsコマンドで確認できます。
-
pdffsckコマンドの実行中には,pdmod及びpdrstrは実行しないでください。実行すると,データベースを破壊するおそれがあります。
-
pdffsckコマンドでのファイル修復処理中にプロセスが打ち切られた場合は,コマンドを再実行して修復を完了させてください。
-
バージョン07-02以前のHiRDBでは,管理領域の情報が破壊されていてpdffsckコマンドでは修復できないことがあります。この場合は,KFPI21585-Eメッセージが出力されるので,出力メッセージに従って,対象となるHiRDBファイルシステム領域をバックアップファイルから回復してください。詳細については,マニュアル「HiRDB Version 9 システム運用ガイド」を参照してください。
(8) 出力形式
領域の不整合が検知されてKFPI21559-Wメッセージが表示された場合だけ,検知した不整合の状態によって,次のどれかの情報が出力されます。なお,不整合が検知されないで,KFPI21558-Iメッセージが表示された場合には,次の情報は出力されません。
(a) 利用できないHiRDBファイルがある場合(ファイルの作成,削除処理の中断)
利用できないHiRDBファイルは,ファイルに割り当てられていた領域が利用できる状態とできない状態で区別します。領域が利用できない状態のファイルについては,すべてのファイルのファイル名,ファイル開始位置,及びファイルサイズが表示されます。利用できないファイルのすべてが,領域を利用できない状態とは限らないため,出力されるファイルカウントとファイルリストの数が一致しないこともあります。
unusable file count aa...a file list FILE NAME OFFSET[kB] SIZE[kB] bb...b cc...c dd...d : : : total unusable area size[kB] ee...e
- [説明]
-
- aa...a:
-
利用できないHiRDBファイルの数(10進数4けた以内)
- bb...b:
-
領域が利用できない状態のHiRDBファイル名(30文字以内)
- cc...c:
-
HiRDBファイルの開始オフセット(10進数10けた以内)
- dd...d:
-
HiRDBファイルのサイズ(単位:キロバイト)(10進数10けた以内)
- ee...e
-
領域が利用できない状態のHiRDBファイルの合計サイズ(修復実行によって空き領域として再利用できるようになるサイズ)(単位:キロバイト)(10進数10けた以内)
(b) 利用できない領域がある場合(ファイルの拡張処理の中断)
利用できない領域の開始位置とサイズが表示されます。該当するすべての領域が出力されます。出力される領域カウントと領域リストの数は常に一致します。
unusable area count aa...a area list OFFSET[kB] SIZE[kB] bb...b cc...c : : total unusable area size[kB] dd...d
- [説明]
-
- aa...a:
-
利用できない領域数(10進数4けた以内)
- bb...b:
-
利用できない領域開始オフセット(10進数10けた以内)
- cc...c:
-
利用できない領域サイズ(単位:キロバイト)(10進数10けた以内)
- dd...d:
-
利用できない領域の合計サイズ(修復実行によって空き領域として再利用できるようになるサイズ)(単位:キロバイト)(10進数10けた以内)
(c) 利用できないHiRDBファイル,及び利用できない領域が共にある場合
unusable file count aa...a file list FILE NAME OFFSET[kB] SIZE[kB] bb...b cc...c dd...d : : : unusable area count ff...f area list OFFSET[kB] SIZE[kB] gg...g hh...h : : total unusable area size[kB] ee...e
- [説明]
-
- aa...a:
-
利用できないHiRDBファイルの数(10進数4けた以内)
- bb...b:
-
領域が利用できない状態のHiRDBファイル名(30文字以内)
- cc...c:
-
HiRDBファイルの開始オフセット(10進数10けた以内)
- dd...d:
-
HiRDBファイルのサイズ(単位:キロバイト)(10進数10けた以内)
- ee...e:
-
領域が利用できない状態のHiRDBファイル,及び利用できない領域すべての合計サイズ(修復実行によって空き領域として再利用できるようになるサイズ)(単位:キロバイト)(10進数10けた以内)
- ff...f:
-
利用できない領域数(10進数4けた以内)
- gg...g:
-
利用できない領域開始オフセット(10進数10けた以内)
- hh...h:
-
利用できない領域サイズ(単位:キロバイト)(10進数10けた以内)