migrating berkeley DBs (4.3 to 4.6)

Erik Norgaard norgaard at locolomo.org
Tue Jun 2 08:42:29 UTC 2009


Matthew Seaman wrote:
> Erik Norgaard wrote:
> 
>> I have cyrus-imapd 2.3 with Berkeley DB 4.3 and openldap also compiled
>> with BDB 4.3.
>>
>> Now, openldap won't build with 4.3 and defaults to 4.6 so I need to
>> migrate my data, and I would like to migrate my cyrus-imapd also to a
>> newer version of BDB.
>>
>> Are there any tools or tricks for doing this?
>>
>> The BDB v4.4 port refers to a compatibility page maintained at
>> sleepycat, but this is now redirected to Oracle and I find no such
>> information. Any page listing the db file compatibility?
> 
> Yes -- I believe BDB 4.3 and 4.6 aren't binary compatible it seems.
> 
> For the special case of cyrus-imapd you should use cvt_cyrusdb(8) to
> dump out the contents of cyrus DB files to ascii, update everything, and
> then use cvt_cyrusdb to reload the data.

Thanks, it doesn't seem that you can use this tool to convert from one
version of BDB to another:

alpha$ /usr/local/cyrus/bin/cvt_cyrusdb
Usage: /usr/local/cyrus/bin/cvt_cyrusdb [-C altconfig] <old db> <old db
backend> <new db> <new db backend>
Usable Backends:  berkeley, berkeley-nosync, berkeley-hash,
berkeley-hash-nosync, flat, skiplist, quotalegacy

So, I can restructure but not upgrade... It doesn't seem like other 
tools are provided with cyrus-imapd.

I took a look on the files in my imap-dir, and it's a mess. Maybe the 
strategy would be to setup two servers and transfer mail one by one. 
Anyone got experience with this?

Thanks, Erik

-- 
Erik Nørgaard
Ph: +34.666334818/+34.915211157                  http://www.locolomo.org



More information about the freebsd-questions mailing list