Berkeley DB error for filesystem while opening environment DB_VERSION_MISMATCH

Written on May 08, 2006

Heute habe ich endlich den Zugriff auf meine Subversion-Repositories von Apache/http:// auf svnserve/svn:// umgestellt.

Dabei erhielt ich zunächst beim Zugriff auf die Repositories folgende Fehlermeldung:

Unable to open an ra_local session to URL
Unable to open repository 'file:///D:/svn/MyRepository/trunk'
Berkeley DB error for filesystem D:/svn/MyRepository/db while opening environment:
DB_VERSION_MISMATCH:
Database environment version mismatch
bdb: Program version 4.3 doesn't match environment version

Die Lösung ist relativ einfach:

Subversion verwendet ab Version 1.2 BDB 4.3.

Um das Repository entsprechend umzustellen, ist folgendes notwendig:

Man benötigt eine svnadmin.exe vor Version 1.2, mit der man folgende Aktionen durchführt:

Wiederherstellen des Repository: "svnadmin recover d:\svn\myrepository"
Backup des Repository.
Alle nicht benutzten Log Files löschen: "svnadmin list-unused-dblogs d:\svn\myrepository"
Löschen der Shared-Memory Files in "db" im Repository Verzeichnis, "del __db.00*"

That's it.

Wie man Subversion mit SVNServe verwendet, ist hier und hier beschrieben. Wie man mehrere Subversion Repositories mit SVNServe bereitstellen kann, beschreibt dieser Thread.

SVNServe als Windows-Service betreiben kann man mit SVNService.