web-dev-qa-db-ja.com

データベースを修復するためのInformixコマンドはありますか?

AvayaCMSソフトウェアを実行しているSunSolarisシステムがあります。ソフトウェアはInformixデータベースを使用します。サーバーにはドライブが1つあります。ドライブが悪くなり始め、ファイルが破損しました。新しいドライブを調達し、古いドライブから新しいドライブにデータを複製して、サーバーを正常に稼働させることができました。ただし、データベースが不正なチャンクを報告し、新しいデータを書き込まないという問題が残っています。

どうすればこれを修復できますか?実行するのは単にInformixコマンドですか、それともデータベースストレージの割り当てを解除して再割り当てする必要がありますか?

IBM Informix DynamicServerバージョン9.40.UC4

編集:私たちは実際にはもはや古いデータを気にしません、それは私たちが新しいデータを書きたいだけです、しかしそれは私たちを許しません。とにかくそれを修正しますか?

5
Joshua Pack

単純な状況は、oncheckコマンドで回復できます。
しかし、あなたの状況とこの種の破損は、「null」からデータを回復する方法はありません。

そのためには、アーカイブと論理ログのバックアップを回復する必要があります。
次に、すべてのデータをクラッシュ前の最後のステータスに回復します。

ありますか ?うーん....あなたの考えは今だと確信しています:ooopsss .. ..

これは、ハードウェアの冗長性がない環境で必要な最小限の機能です。

その後に検討する他のオプションは、異なるハードディスクのすべてのチャンクをミラーリングするようにデータベースを構成することです...このようにして、一方が悪くなった場合、もう一方はすべてを実行し続けます。

この投稿を読んでください https://stackoverflow.com/questions/19905391/why-informix-dbexport-is-generate-corrupt-data 、多分それはあなたを助けることができます。

編集:

チャンクが破損している場合、その上に何かを書きたくても意味がありません。
データの整合性を保証するために、この状況ではエンジンが非常に制限されています。
[。
より良い解決策は、破損していないものをテキストファイルにエクスポートし、インスタンスをゼロから再作成し、データベース、構造を作成し、データを再読み込みすることです。
この製品は、データを破壊しないようにデータの整合性を保証するためのリソースで作成されていることを理解する必要があります(管理者が適切に構成していることを考慮して)。
参考として、次のリンクを確認してください。

2
ceinmart