このページは機械翻訳されています。英語の原文をお読みください。 English

IBSurgeon ライブラリ

内部gds软件一致性检查 - 如何恢复Firebird/InterBase数据库

Oleg Matveev、2014年11月20日

Firebird(またはInterBase)インスタンスが、データベースの整合性に影響を与えないことを保証できない操作を実行できない場合、エラー(bugcheck)を発生させ、現在の操作を中断します。

このようなFirebirdエラーテキストは、必須のプレフィックス「internal gds software consistency check (can’t continue after bugcheck)」(最近のFirebirdバージョンでは「internal Firebird software consistency check」)で始まり、その後に実際のエラーテキスト(例:「decompression overran buffer (179)」)が続きます。

「internal software consistency check」エラーは、多くの場合、Firebirdデータベースが破損していることを意味します(ただし、これは規則ではありません)。つまり、内部データベースイメージの整合性が壊れており、通常の作業を続行するには修正が必要です。

firebird.logまたはアプリケーションのエラーメッセージにこのようなエラーが表示された場合は、次のコマンドを実行してデータベースが正常であることを確認してください:

Code
gfix.exe -v -full -user SYSDBA -pass masterkey path_to_your_database

gfix検証でエラーが返された場合、データベースは破損しており、リカバリが必要です。

まずgfixでリカバリを試してください:

Code
gfix.exe -mend -ig -user SYSDBA -pass masterkey path_to_your_database

その後、データベースをバックアップします:

Code
gbak.exe -b -g -user SYSDBA -pass masterkey path_to_your_database path_to_backup

そして復元します:

Code
gbak.exe -c -v -user SYSDBA -pass masterkey path_to_backup path_to_new_database

gfix/gbak中に問題が発生した場合は、IBSurgeon FirstAIDツールで破損したデータベースをリカバリしてください。ほとんどの「internal Firebird consistency check」エラーはこれで修正できます。FirstAIDは、深刻なデータベース破損に対処するために特別に設計されています。

また、破損したFirebirdまたはInterBaseデータベースがある場合は、サポートまでご連絡ください:[email protected]。エラーの全文(またはスクリーンショット)を提供してください。