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