Subversion Berkeley DB坏了,恢复失败了

时间:2008-09-23 08:16:51

标签: svn recovery berkeley-db

我有一个由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验证存储库时仍存在相同的错误。

4 个答案:

答案 0 :(得分:5)

  

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

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

对于那些想要尝试db_recover函数的人,首先需要找到正确的berkeley DB version,然后使用berkeley DB software的正确版本。然后运行recover实用程序:

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

答案 3 :(得分:1)

我知道这个问题很老,但还有另一个替代方案对我有用: svnadmin recover <svn path>