1

何らかの理由で ***_status.tokudb ファイルが欠落している TokuDB テーブルがあります。

TokuDB のクラッシュが原因でファイルが欠落しているのかどうかはまだわかりません。

質問は:

  • メイン ファイルとキー ファイルからステータス ファイルを復元または再作成する方法はありますか (これは tokudb_file マップから確認できます)。
  • tokuDBステータスファイルが削除された原因をデバッグするにはどうすればよいですか?

これは本当によくあることですか、それとも既知のバグですか? https://github.com/percona/tokudb-engine/wiki/Broken-tables-caused-by-non-transactional-table-operations#unexplained-inconsistency-problems-with-tokudb

4

1 に答える 1

1

それで、メインファイルからファイルを復元できました。

ただし、何がステータスファイルを削除したのかはまだわかりません。

toku-ft リポジトリには、tokuftdump という内部デバッグ ツールがあります。

ツリーを解析した後、アンパックされたリーフ エントリにバイトストリームをダンプします。変換された 16 進ストリームをすばやく 16 進編集すると、構造が明らかになり、ユーティリティを変更して、構造によって明らかになった解析後の正確な値をダンプできます。

toku にはノード上にメッセージ バッファがあるため、追加のメッセージ処理が必要になる場合もあります。私の場合、挿入しかなかったのでこれは簡単でした...

更新: 詳細については、こちらを参照してください。

http://kshitij.learnercafe.com/TokuDB-Recovery-From-Files

于 2015-10-01T17:36:38.050 に答える