Upgrade all Berkeley db's

Martin Schweizer schweizer.martin at gmail.com
Fri Feb 15 03:19:08 EST 2008


Hello Alain anf Toomas

2008/2/7, Alain Spineux <aspineux at gmail.com>:
> On Feb 7, 2008 6:21 PM, Martin Schweizer <schweizer.martin at gmail.com> wrote:
>  > Hello
>  >
>  >  I use FreeBSD 6.3 and Cyrus 2.3.11 (with sasldb2). All works correct.
>
>
> All works corrects ?
>  Have you already upgraded ?
>  Then why your questions ?
>
>
>
>  > In the upgrade process (2.3.9 to 2.3.11) I checked also all the db
>  > files.  I found the following:
>  >
>  > file /usr/local/etc/sasldb2:
>  > /usr/local/etc/sasldb2.db: Berkeley DB 1.85 (Hash, version 2, native byte-order)
>
>
> Depend which binary are or will access saasldb2.
>
>
>  >
>  > -> Do I need to upgrade the sasldb2 or can I let is as is?
>  >
>  > file /var/imap/*.db:
>  > - annotations.db:  Apple QuickTime movie (modified)\012- Cyrus skiplist DB
>  >
>  > - deliver.db:      Hitachi SH big-endian COFF object, not
>  > stripped\012- Berkeley DB (Btree, version 8, native byte-order)\012-
>  > Berkeley DB (Btree, version 8, little-endian)
>  >
>  > - mailboxes.db:    Apple QuickTime movie (modified)\012- Cyrus skiplist DB
>  >
>  > - tls_sessions.db: Berkeley DB (Btree, version 8, native
>  > byte-order)\012- Berkeley DB (Btree, version 8, little-endian)
>  >
>  > pkg_info|grep db:
>  > db3-3.3.11_3,1      The Berkeley DB package, revision 3.3
>  > db41-4.1.25_4       The Berkeley DB package, revision 4.1
>
>
> The problem is wich version of bdb is used by your application
>
>  # ldd binary_file
>
>  should tell you
>
>
>  >
>  > db3_dump deliver.db and tls_sessions.db:
>  > VERSION=3
>  > format=bytevalue
>  > type=btree
>  > ...
>  > This means for me it's db3. Can I upgrade it with db3_dump to a text
>  > file db41_load in a new database file? Or can cyrus create
>  > tls_session.db and deliver.db new?
>  >
>  > annotations.db:
>  > How I can upgrade this db? Do I need it or can cyrus createannotations.db?
>  >
>  > mailboxes.db:
>  > This I can dump/restore by ctl_mboxlist -d/-u.
>
>
> annotations and mailboxes are skiplist, this is not bdb !
>  You dont need to upgrade.
>
>  PS: annotations contains annotations :-) It is important if your MUA
>  is using annotation.
>
>  deliver and tls_session can be dropped, cyrus will re-create them.
>
>
>  >
>  > What is about the files in the directories /var/imap/db and
>  > /var/imap/user? How I should dealt with these? Did I foreget
>  > something?
>
>
> "file" is you friend !
>  Look for file named cyrus.*

Sorry for the dely but in the past days I was verry busy. But now I
study around your questions and attached an and output from my study:

Update 2.3.9 to 2.3.11:
I did it and all works correct.

SASL2:
/usr/local/etc/
acsvfbsd04# db41_dump185 -p *.db
format=print
type=hash
h_ffactor=40
db_lorder=1234
db_pagesize=4096
HEADER=END

acsvfbsd04# file -k *.db
sasldb2.db: Berkeley DB 1.85 (Hash, version 2, native byte-order)

So, this seams for me ok. If I need an upgrade I can dump/restore this
by using db41_dump185 etc.

/usr/imap/var/imap

acsvfbsd04# db3_dump deliver.db
VERSION=3
format=bytevalue
type=btree
HEADER=END

acsvfbsd04# db3_dump tls_sessions.db
VERSION=3
format=bytevalue
type=btree
HEADER=END
DATA=END


If I need an upgrade I can safely delte this two (deliver.db,
tls_sessions.db) files or use db3_dump etc.

acsvfbsd04# ldd /usr/local/bin/db3_dump
/usr/local/bin/db3_dump:
        libdb3.so.3 => /usr/local/lib/libdb3.so.3 (0x2807b000)
        libpthread.so.2 => /lib/libpthread.so.2 (0x280f8000)
        libc.so.6 => /lib/libc.so.6 (0x2811d000)

usr/local/cyrus/bin

acsvfbsd04# ldd master
master:
        libgssapi.so.8 => /usr/lib/libgssapi.so.8 (0x28084000)
        libkrb5.so.8 => /usr/lib/libkrb5.so.8 (0x28092000)
        libasn1.so.8 => /usr/lib/libasn1.so.8 (0x280c6000)
        libroken.so.8 => /usr/lib/libroken.so.8 (0x280e7000)
        libcrypt.so.3 => /lib/libcrypt.so.3 (0x280f3000)
        libcom_err.so.3 => /usr/lib/libcom_err.so.3 (0x2810b000)
        libdb41.so.1 => /usr/local/lib/libdb41.so.1 (0x2810d000)
        libssl.so.4 => /usr/lib/libssl.so.4 (0x281aa000)
        libcrypto.so.4 => /lib/libcrypto.so.4 (0x281d8000)
        libmd.so.3 => /lib/libmd.so.3 (0x282cb000)
        libc.so.6 => /lib/libc.so.6 (0x282d9000)

acsvfbsd04# pkg_info|grep db
db3-3.3.11_3,1      The Berkeley DB package, revision 3.3

-> only for deliver.db and tls_sessions.db

db41-4.1.25_4       The Berkeley DB package, revision 4.1


But which files are in the db41 format? I checked each directory but I
did not see any such files. Which files are stored in db41 format?


Regards,
-- 
Martin Schweizer
schweizer.martin at gmail.com
Tel.: +41 32 512 48 54 (VoIP)
Fax: +1 619 3300587


More information about the Info-cyrus mailing list