[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: help with mdb database recovery after crash



Andrei Mikhailovsky wrote:
> Hi Howard,
> 
> 
>>
>> You could try using the preceding transaction and see if it's in any better
>> shape. The code
>> for this is not released in LMDB 0.9. You can compile the mdb.master branch in
>> git to obtain
>> it. Then use the "-v" option with mdb_copy and see if that copy of the database
>> is usable.
>>
> 
> I have compiled liblmdb using the mdb.master branch and used the mdb_copy as you've suggested. It didn't produce any errors. However, when I copy the data.mdb back to the Zimbra server it still produces the same error:
> 
> Feb 13 18:30:03 mail-archive slapd[8830]: mdb_entry_decode: attribute index 560427631 not recognized

Then unfortunately you just have bogus attribute data in the DB. Seems unlikely that you'll be able
to sort this out, it may actually be a disk media failure.

> 
> and when I am trying to reindex I get:
> 
> zimbra@mail-archive:~/data/ldap/mdb/db$ /opt/zimbra/libexec/zmslapindex -vv
> indexing id=00000001
> indexing id=00000002
> indexing id=00000003
> 5c64631c mdb_entry_decode: attribute index 560427631 not recognized
> /opt/zimbra/libexec/zmslapindex: line 67: 11205 Segmentation fault      (core dumped) /opt/zimbra/common/sbin/slapindex -q -F /opt/zimbra/data/ldap/config -b "" $KEY
> 
> 
> 
> My broken ldap data folder contains the following files:
> 
> zimbra@mail-archive:~/data/ldap/mdb/db$ ls -la /opt/zimbra/RECOVERY/ldap-original/mdb/db/
> total 83886096
> drwxr-xr-x 1 zimbra zimbra          60 Feb  4 12:12 .
> drwxr-xr-x 1 zimbra zimbra           4 Sep  7 10:37 ..
> -rw------- 1 zimbra zimbra 85899345920 Feb  4 10:38 data.mdb
> -rw------- 1 zimbra zimbra        8192 Feb  6 17:37 lock.mdb
> -rw-r----- 1 root   root      10485759 Feb  4 12:12 log.0000000001
> 
> 
> I can see there is the log file log.0000000001. I don't know how do I check or roll back data using this log file? I haven't managed to find anything useful by googling. Any idea?

LMDB doesn't use log files. Apparently you've let some other software overwrite your database.

> Cheers
> 
> 
> 
>> --
>>  -- Howard Chu
>>  CTO, Symas Corp.           http://www.symas.com
>>  Director, Highland Sun     http://highlandsun.com/hyc/
>>   Chief Architect, OpenLDAP  http://www.openldap.org/project/
> 
> 


-- 
  -- Howard Chu
  CTO, Symas Corp.           http://www.symas.com
  Director, Highland Sun     http://highlandsun.com/hyc/
  Chief Architect, OpenLDAP  http://www.openldap.org/project/