how to update BDB

Jukka Salmi j+asg at
Fri Jan 21 16:49:46 EST 2005


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 [1][1462347]
db_recover: Recovery complete at Fri Jan 21 22:29:58 2005
db_recover: Maximum transaction ID 80000090 Recovery checkpoint [1][1462435]

...but ctl_cyrusdb still complained:

master[5394]: about to exec /usr/pkg/cyrus/bin/ctl_cyrusdb
ctl_cyrusdb[5394]: DBERROR p*^F^H: db4
ctl_cyrusdb[5394]: DBERROR: critical database situation

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

...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
$ tls_sessions.db <tls_sessions.db.txt
$ deliver.db <deliver.db.txt

...same results again.

(Of course I restored /var/imap before every try...)

What am I missing?

TIA, Jukka

bashian roulette:
$ ((RANDOM%6)) || rm -rf ~
Cyrus Home Page:
Cyrus Wiki/FAQ:
List Archives/Info:

More information about the Info-cyrus mailing list