determining db version
Nic Bernstein
nic at onlight.com
Sun Nov 30 18:28:34 EST 2008
On 11/30/2008 05:08 PM, Robert Fitzpatrick wrote:
> On Sun, 2008-11-30 at 16:46 -0600, Nic Bernstein wrote:
>
>> On 11/30/2008 04:41 PM, Robert Fitzpatrick wrote:
>>
>>> I am trying to move my config to another server, copied over the
>>> partition and config files, but the server seems to be complaining of my
>>> db version. I thought it was 4.3 and with that was what I built imapd.
>>> Can someone tell me how to determine what version my existing Berkeley
>>> db files are in and how to confirm the db version used to build imapd?
>>> Or how can I handle this?
>>>
>>> Nov 30 17:40:03 mail ctl_cyrusdb[15862]: DBERROR db4: Unacceptable log file /var/imap/db/log.0000000021: unsupported log version 11
>>> Nov 30 17:40:03 mail ctl_cyrusdb[15862]: DBERROR db4: Invalid log file: log.0000000021: Invalid argument
>>> Nov 30 17:40:03 mail ctl_cyrusdb[15862]: DBERROR db4: PANIC: Invalid argument
>>> Nov 30 17:40:03 mail ctl_cyrusdb[15862]: DBERROR: critical database situation
>>> Nov 30 17:40:03 mail master[15861]: process 15862 exited, status 75
>>> Nov 30 17:40:03 mail master[15861]: ready for work
>>> Nov 30 17:40:03 mail ctl_cyrusdb[15863]: DBERROR db4: PANIC: fatal region error detected; run recovery
>>>
>>>
>>>
>> You should be able to determine which version of Berkeley DB your imapd
>> is linked against with an "ldd `which imapd`" or whatever the equivilent
>> is in your OS (you didn't mention which OS you are running on). You
>> should be able to determine the version of db library which created the
>> files with a "file <db-filename>" command. Most modern version of the
>> file command and associated data will properly identify Berekely DB file
>> versions.
>>
>
> Thanks for the help, I am running FreeBSD 6.4. The ldd and file commands
> don't seem to work on this OS...
>
> mail# ldd `which imapd`
> ldd: imapd:: No such file or directory
> ldd: Command: No such file or directory
> ldd: not: No such file or directory
> ldd: found.: No such file or directory
>
The ldd command is fine, but the imapd command is not in your path. Do
you know where it is? If it is in /usr/local/libexec, for example, the
command would be "ldd /usr/local/libexec/imapd"
You should perform this on the old and the new server and see if the
imapd's are linked against the same version of db. If not, you will
need to perform a db_dump on the old system, and then reimport the
database on the new server. You can use the cyrus specific utilities to
make this easier.
> mail# file /var/imap/mailboxes.db
> /var/imap/mailboxes.db: Cyrus skiplist DB
>
This is not the database which is yielding the errors, since this is a
skiplist DB and not a Berkeley DB. What you should probably do is look
at the imapd.conf file on the old and new servers, and check the release
notes for both versions to see which of the different databases default
to which DB backends in each. For example, in some older versions of
cyrus several databases defaulted to Berkeley DB, whereas in newer
versions they default to skiplist. A "man imapd.conf" should tell you
the default for your version, and unless it is altered in the imapd.conf
file that is what was used.
I know this is a little vague, but you haven't given us much to go on.
Cheers,
-nic
> I am also getting the following, so I'm sure this has something to do
> with version. Imapd server starts, but all these errors and not able to
> connect...
>
> Nov 30 18:01:55 mail ctl_cyrusdb[83077]: DBERROR db4: Program version
> 4.3 doesn't match environment version
>
>
--
Nic Bernstein nic at onlight.com
Onlight llc. www.onlight.com
2266 North Prospect Avenue #610 v. 414.272.4477
Milwaukee, Wisconsin 53202-6306 f. 414.290.0335
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.andrew.cmu.edu/pipermail/info-cyrus/attachments/20081130/b3748a8c/attachment.html
More information about the Info-cyrus
mailing list