[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Openldap 2.3.11 cannot autorecover from abnormal shutdown.
- To: openldap-software@OpenLDAP.org
- Subject: Openldap 2.3.11 cannot autorecover from abnormal shutdown.
- From: Yingbo Qiu <qiuyingbo@gmail.com>
- Date: Tue, 20 Dec 2005 11:20:25 +0800
- Content-disposition: inline
- Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=oXtkX282zhfXocpnwfLvewA4GJa16TDzIkzLJ2B4DVS70ftj6VbV47MLHiF1SDPIKo7daTDFnrQCVG9MAJHMbN5c3xIZDKg+4YBJWfAtscxHaYBuAqw3bNbNoOOMHXpcpFrs8IwH65ignICqnKDntMbQstoPN0w+vtY0Oer+6K0=
If the slapd was killed by SIGKILL(9), bdb database will be
autorecovered at startup, I can read recovery message from 'slapd -d
5'
But in some abnormal cases, such as power failure. slapd cannot
autorecover at startup. It report:
>......
>slapd startup: initiated.
>backend_startup_one: starting "cn=config"
>backend_startup_one: starting "o=eyou.com"
>bdb_db_open: o=eyou.com
>bdb_db_open: unclean shutdown detected; attempting recovery.
>bdb_db_open: dbenv_open(/var/eyou/openldap/var/openldap-data)
>bdb(o=eyou.com): Program version 4.3 doesn't match environment version
>bdb_db_open: Recovery needed but environment is missing - assuming
recovery was done manually...
>bdb(o=eyou.com): Program version 4.3 doesn't match environment version
>bdb_db_open: dbenv_open failed: DB_VERSION_MISMATCH: Database
environment version mismatch (-30974)
>backend_startup_one: bi_db_open failed! (-30974)
>slapd shutdown: initiated
>slapd destroy: freeing system resources.
>slapd stopped.
>connections_destroy: nothing to destroy.
If I run db_recover manually. The corruption could be recovered:
># db_recover -v -h /var/eyou/openldap/var/openldap-data
>db_recover: Program version 4.3 doesn't match environment version
>Finding last valid log LSN: file: 1 offset 572952
>Recovery starting from [1][469932]
>Recovery complete at Tue Dec 20 11:02:50 2005
>Maximum transaction ID 800000f4 Recovery checkpoint [1][574558]
Why autorecover can't do well as db_recover?