how to update BDB
andreas at conectiva.com.br
Fri Jan 21 20:03:54 EST 2005
On Fri, Jan 21, 2005 at 10:49:46PM +0100, Jukka Salmi wrote:
> first of all thanks for the replies.
> Igor Brezac wrote:
> > Reset the bdb environment with the old db_recover binary prior to upgrade.
> > I do not think that the database format changed between the two BDB
> > versions.
> No, it did not. But the log file format changed.
> I tried this without success:
> $ db4_recover.old -v -h /var/imap/db
> db_recover: Finding last valid log LSN: file: 1 offset 1462435
> db_recover: Recovery starting from 
> db_recover: Recovery complete at Fri Jan 21 22:29:58 2005
> db_recover: Maximum transaction ID 80000090 Recovery checkpoint 
> ...but ctl_cyrusdb still complained:
> master: about to exec /usr/pkg/cyrus/bin/ctl_cyrusdb
> ctl_cyrusdb: DBERROR p*^F^H: db4
> ctl_cyrusdb: DBERROR: critical database situation
db_recover does not upgrade the log files, but it does clean the environment
and that's a good thing during such an upgrade.
> Andreas Hasenack wrote:
> > You would have to get rid of the transaction log files. Probably by
> > checkpointing.
> > According to the BDB docs, the log file format has changed.
> $ db4_checkpoint.old -1 -v -h /var/imap/db
> db_checkpoint: checkpoint: Fri Jan 21 22:37:42 2005
I guess you will have to get rid of that lone log file. Perhaps this:
- dump database with BDB tool
- remove log file
- reload database with new db_load tool
> ...same results as above.
> Sebastian Hagedorn wrote:
> > db_dump and db_restore, perhaps also db_upgrade.
> $ db4_dump.old deliver.db >deliver.db.txt
> $ db4_dump.old tls_sessions.db >tls_sessions.db.txt
> $ db4_load.new tls_sessions.db <tls_sessions.db.txt
> $ db4_load.new deliver.db <deliver.db.txt
> ...same results again.
> (Of course I restored /var/imap before every try...)
> What am I missing?
My experience during the time when I had to upgrade from db 4.1.25 to
4.2.52 was that the log file was always in the way and I had to come up
with a way to get rid of it.
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
More information about the Info-cyrus