lusec3 发表于 2008-09-10 22:25

subversion 数据恢复求助

原来公司使用的subversion服务器一直正常(别人配置),由于本人疏忽,没有采用正确的备份方法,恰好公司subversion 的存储类型又为Berkely DB,而我一直备份subversion代码仓库都是直接tar整个目录打成一个包,再传到其他服务器上,但最近两天,老的subversion服务器已经彻底瘫痪,今天重新搭建了一台subversion和apache集成方式访问subversion服务器,并把原有仓库拷贝到新服务器上,发现不能正常使用访问,报告错误为:
(20014)Internal error: Berkeley DB error for filesystem '/home/svnadmin/repos/WAP/db' while opening environment:\n
Could not fetch resource information.
Could not open the requested SVN filesystem
Could not open the requested SVN filesystem

,后为了验证是否配置错误,自己svnadmin create创建了一个仓库,并且选择指定类型为 dbd方式,可以正常check in和check out,说明配置是没问题的。
然后试着采用
svnadmin dump /home/svnadmin/repos/Wap/ >/home/caihui/Wap.txt
也会报告错误

svnadmin: DB_RUNRECOVERY: Fatal error, run database recovery
svnadmin: bdb: Ignoring log file: /home/svnadmin/repos/Wap/db/log.0000000088: unsupported log version 11
svnadmin: bdb: Invalid log file: log.0000000088: Invalid argument
svnadmin: bdb: PANIC: Invalid argument
svnadmin: bdb: PANIC: DB_RUNRECOVERY: Fatal error, run database recovery

请问这主要是什么原因造成的,我也曾经用原来老服务器上包进行安装,故障依旧。

walte 发表于 2008-09-11 14:42

bd 的数据库直接热拷备是不安全的,所以你的备份中,可能一有部分是有问题的(应该有很多份备份吧?)。

首先你要构建一个和旧的 svn 服务一样的环境(svn 版本, bd 版本都和原来的一致的)环境,把原来的仓库使用 svnadmin dump 出来,再 load 到新的服务器上。

[ 本帖最后由 walte 于 2008-9-11 14:44 编辑 ]

lusec3 发表于 2008-09-11 22:01

好的,谢谢。关键我现在都不知道原来安装的是那个版本,服务器已经崩溃了,是别人安装的!
页: [1]
查看完整版本: subversion 数据恢复求助