1

我有一个 TokuDB 表,由于某种原因缺少 ***_status.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 的内部调试工具。

在解析树之后,它会将字节流转储到已解包的叶条目上。对转换后的 hexstreams 进行一些快速的十六进制编辑会显示结构,然后您可以修改实用程序以转储解析后结构显示的确切值。

由于 toku 在节点上有消息缓冲区,您可能还需要一些额外的消息处理。就我而言,这很简单,因为我只有插入...

更新:更多细节可以在这里找到。

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

于 2015-10-01T17:36:38.050 回答