gfix.exe の出力に関する簡単な説明
Alexey Kovyazin、2014年4月13日
gfix.exe が終了すると、エラーの概要(存在する場合)が標準出力(通常は画面)に書き込まれます。以下は gfix 出力の簡単な説明です:
- レコードレベルエラーの数 - gfix の作業中に見つかった破損レコードの数。これらのレコードは正しくなく、実質的に失われています。
- インデックスページエラーの数 - 不良インデックス内のインデックスページの数。インデックス内のキーが1つでも正しくない場合、gfix はインデックス全体を不良としてマークするため、ページ数は通常多くなります。ただし、これはユーザーデータに影響を与えず、破損したインデックスはバックアップ/リストア中に再作成されるため、参考情報としてのみ考慮できます。
- トランザクションページエラーの数 - gfix によって修正されたトランザクションページの数。通常、このメッセージが表示される場合、gfix がその役割を果たし、トランザクションが正常になったことを意味します。
- BLOBエラーの数 - 不良 BLOB ページの数。不良 BLOB の数を示します。
- データベースページエラーの数 - gfix によってアクセスされ、変更または不良としてマークされたデータベースページの総数。これも主に参考情報です。
その後、firebird.log を確認して、gfix によって特定された問題の詳細を確認できます。おそらく、孤立ページに関する多くのメッセージが表示されるでしょう。
孤立ページは単なる失われたスペースです。これらはエラーの結果ですが、エラー自体ではありません。
孤立ページは、他のエラーが検出されず、かつ -full が指定された場合にのみ修正されます。
また、孤立レコードバージョンに関する情報がある場合もあります。これらは孤立ページとは異なります。孤立レコードバージョンはどのような場合でも修正されず、データベース内に残ります。
gfix を実行した場合、このような深刻に破損したレコードは「破損」としてマークすることで修正できる可能性がありますが、それは -mend が指定された場合のみです。そのようなレコードはデータベース内に残りますが、エンジンによってスキップされます。
つまり、gfix の出力は、破損した Firebird または InterBase データベースで見つかった問題の概算を示します。この概要の良い点は、gfix がそれを出力できる場合、データベースが十分に一貫していることを意味することです。
gfix が破損したデータベースを復旧できなかった場合は、IBSurgeon FirstAID をお試しください。