【问题标题】:Subversion Berkeley DB broken, recovery failedSubversion Berkeley DB 损坏,恢复失败
【发布时间】:2010-09-12 07:09:07
【问题描述】:

我有一个由 berkeley DB 支持的 Subversion 存储库。偶尔它会因为一些锁而崩溃,并且没有被释放,但是今天早上使用'svnadmin recover'命令是不可能恢复它的。相反,它失败并出现以下错误:

svnadmin: Berkeley DB error for filesystem 'db' while opening 'nodes' table:
Invalid argument
svnadmin: bdb: file nodes (meta pgno = 0) has LSN [1083][429767].
svnadmin: bdb: end of log is [1083][354707]
svnadmin: bdb: db/nodes: unexpected file type or format

我将从上次已知的良好备份恢复存储库,但如果有办法修复此存储库,我会很高兴。

编辑:即使是 db_recover 实用程序也没有什么不同。它显示恢复已完成,但使用 svnadmin 验证存储库时仍然存在相同的错误。

【问题讨论】:

  • 你不接受最佳答案吗?

标签: svn recovery berkeley-db


【解决方案1】:

我有一个由 berkeley DB 支持的 Subversion 存储库。

很抱歉听到这个消息。我建议您尽早转储该存储库 (svnadmin dump) 并将其重新加载到由 FSFS (svnadmin load) 支持的新存储库中。

【讨论】:

  • 虽然建议不错,但与问题本身几乎没有任何关系。
  • 我自己从未使用过 BDB 存储库,正是因为 Subversion 手册强烈警告它。所以第二个。
  • 我也支持这一点 - 我们曾经遇到过 Subversion BDB 存储库问题。切换到 FSFS 存储库类型会有所帮助。
【解决方案2】:

你试过db_recover吗?后者往往能够比 svnadmin 纠正更多的问题

【讨论】:

    【解决方案3】:

    想要试用 db_recover 功能的朋友,首先需要找到正确的berkeley DB version,然后使用正确版本的berkeley DB software。然后运行恢复实用程序:

    db_recover -c -v -h <path to subversion db dir>
    

    【讨论】:

    • 你能用这种方式修复你的数据库吗?
    • 很遗憾,我已经恢复了前一天的备份,并且只丢失了存储库中的两个小修订。当然,我们仍然有结果,所以现在它们只是合并到 1 个变更集中。
    【解决方案4】:

    我知道这个问题已经很老了,但还有另一种方法对我有用: svnadmin recover &lt;svn path&gt;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-19
      • 1970-01-01
      • 2018-08-24
      • 1970-01-01
      • 1970-01-01
      • 2014-12-20
      • 1970-01-01
      相关资源
      最近更新 更多