[Fedora-directory-users] db_verify
Noriko Hosoi
nhosoi at redhat.com
Tue Apr 17 01:08:27 UTC 2007
Ville Silventoinen wrote:
> Thanks Noriko, that explains a lot!
>
> I still have that other problem to solve, related to re-creating the
> database (see the end of my first email). I will try to reproduce this
> problem and create some test data this week.
Hi Ville,
> If I delete a database with the Console, it leaves behind couple of
> index files:
>
> -rw------- 1 w3secure systems 16384 Mar 28 17:05 ancestorid.db4
> -rw------- 1 w3secure systems 18 Mar 28 17:03 DBVERSION
> -rw------- 1 w3secure systems 32768 Mar 28 17:05 id2entry.db4
>
> These index files don't seem to shrink when new entries are imported.
> dbscan still shows the deleted entries in id2entry.
>
> I noticed a problem when I import a small set of entries, delete the
> database, import large set of entries and if I query the entries, I
> get the entries from the first set (they don't exist in the second
> set). I can reproduce the problem. If I delete ancestorid.db4 and
> id2entry.db4 manually when I delete the database, I don't have this
> problem. Is there a reason why those two files are not deleted? Or can
> this whole thing be caused by corrupted data?
I wonder this might be your case?
http://www.redhat.com/docs/manuals/dir-server/ag/7.1/entry_dist.html#22293
Deleting a Database
The following procedure describes deleting a directory database using
the Directory Server Console. Deleting a database deletes the
configuration information and entries for that database only, *not the
physical database itself.*
http://www.redhat.com/docs/manuals/dir-server/ag/7.1/dbmanage.html#1117312
Importing a Database from the Console
When you perform an import operation from the Directory Server Console,
an ldapmodify operation is executed to *append data*, as well as to
modify and delete entries.
To overwrite the existing data, please take this step before importing
the data.
http://www.redhat.com/docs/manuals/dir-server/ag/7.1/dbmanage.html#1117339
Initializing a Database from the Console
Or you could do the same thing from the command-line interface:
http://www.redhat.com/docs/manuals/dir-server/ag/7.1/dbmanage.html#1117378
Importing from the Command-Line
You can use three methods for importing data through the command-line:
. Using ldif2db - This import method overwrites the contents of your
database and requires the server to be stopped.
. Using ldif2db.pl - This import method overwrites the contents of your
database while the server is still running.
Hope it helps,
--noriko
>
> Thanks,
> Ville
>
>
> On Thu, 12 Apr 2007, Noriko Hosoi wrote:
>
>> Thank you, Ville, for the test data. I could reproduce the db_verify
>> problem.
>>
>> I have good news and bad news. :) Good news, first... Your db is
>> not corrupted. The error report from verify-db.pl is bogus.
>>
>> Bad news, next. Please take a look at this bug. We are going to
>> provide a fixed utility some time soon.
>>
>> Summary: verify-db.pl (db_verify) does not work on a little endian
>> machine
>>
>> https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=236256
>>
>> Sorry about this inconvenience, and thank you for reporting the problem!
>> --noriko
>>
>> Ville Silventoinen wrote:
>>
>>> Hi Noriko,
>>>
>>> sorry it took so long to reply, I've been busy with other work.
>>>
>>> On Fri, 30 Mar 2007, Noriko Hosoi wrote:
>>>
>>>> Ville Silventoinen wrote:
>>>>
>>>>> I asked my manager but he doesn't think it's a good idea for
>>>>> security reasons. The problem is that the data is our NIS
>>>>> mail.aliases and passwd, and we don't want to distribute them to
>>>>> the internet. He suggested I'll modify the data, so I can send a
>>>>> sample to you. I'll do that next week.
>>>>
>>>> That would be great. Thanks! I'm interested in what type of
>>>> characters your data contain. E.g., character set is UTF-8? Some of
>>>> your DNs could contain any special characters such as '\'? etc...
>>>
>>>
>>> The character set should be plain ASCII. I created an imaginary
>>> mail.aliases file. You can download it from here:
>>>
>>> http://www.ebi.ac.uk/systems-srv/mp/file-exchange/
>>>
>>> Type in "fedorads" to the Pass Phrase input box and click Go. You
>>> should see three files: mail.aliases, mail.aliases.ldif and
>>> 99user.ldif.
>>>
>>> I can reproduce my problem with the above files, for example, I've
>>> tested like this:
>>>
>>> 1. Delete existing ebiRoot database (you could use userRoot).
>>> 2. Delete db/ebiRoot directory.
>>> 3. Create ebiRoot database.
>>> 4. Shutdown slapd.
>>> 5. Run db2index and verify-db.pl. No errors.
>>> 6. Start slapd.
>>> 7. Import mail aliases. I've tried with the Console and my own CLI,
>>> which can import LDIF and add entries one-by-one. The method doesn't
>>> seem to matter.
>>> 8. Shutdown slapd.
>>> 9. Run db2index and verify-db.pl, verify gives errors:
>>>
>>> Verify log files in db ... Good
>>> Verify db/ebiRoot/ancestorid.db4 ...
>>> DB ERROR: db_verify: Page 2: out-of-order key at entry 254
>>> DB ERROR: db_verify: DB->verify: db/ebiRoot/ancestorid.db4:
>>> DB_VERIFY_BAD: Database verification failed
>>> Secondary index file ancestorid.db4 in db/ebiRoot is corrupted.
>>> Please run db2index(.pl) for reindexing.
>>> Verify db/ebiRoot/objectclass.db4 ...
>>> DB ERROR: db_verify: Page 2: out-of-order key at entry 255
>>> DB ERROR: db_verify: DB->verify: db/ebiRoot/objectclass.db4:
>>> DB_VERIFY_BAD: Database verification failed
>>> Secondary index file objectclass.db4 in db/ebiRoot is corrupted.
>>> Please run db2index(.pl) for reindexing.
>>> Verify db/ebiRoot/nsuniqueid.db4 ... Good
>>> Verify db/ebiRoot/parentid.db4 ...
>>> DB ERROR: db_verify: Page 1: unsorted duplicate set in sorted-dup
>>> database
>>> DB ERROR: db_verify: DB->verify: db/ebiRoot/parentid.db4:
>>> DB_VERIFY_BAD: Database verification failed
>>> Secondary index file parentid.db4 in db/ebiRoot is corrupted.
>>> Please run db2index(.pl) for reindexing.
>>> Verify db/ebiRoot/cn.db4 ...
>>> DB ERROR: db_verify: Page 10: out-of-order key at entry 249
>>> DB ERROR: db_verify: DB->verify: db/ebiRoot/cn.db4: DB_VERIFY_BAD:
>>> Database verification failed
>>> Secondary index file cn.db4 in db/ebiRoot is corrupted.
>>> Please run db2index(.pl) for reindexing.
>>> Verify db/ebiRoot/id2entry.db4 ... Good
>>> Verify db/ebiRoot/entrydn.db4 ... Good
>>> Verify db/ebiRoot/rfc822mailmember.db4 ...
>>> DB ERROR: db_verify: Page 2: unsorted duplicate set in sorted-dup
>>> database
>>> DB ERROR: db_verify: Page 3: unsorted duplicate set in sorted-dup
>>> database
>>> DB ERROR: db_verify: DB->verify: db/ebiRoot/rfc822mailmember.db4:
>>> DB_VERIFY_BAD: Database verification failed
>>> Secondary index file rfc822mailmember.db4 in db/ebiRoot is corrupted.
>>> Please run db2index(.pl) for reindexing.
>>>
>>>> So, in your ldif data, the mail attribute also has this type of
>>>> value: "|/homes/majordom/wrapper
>>>> stripmime.pl|/homes/majordom/wrapper resend -l foobar-dev
>>>> foobar-dev-outgoing"?
>>>
>>>
>>> No, the People entries have a simpler mail value, like "foo at ebi.ac.uk".
>>>
>>>> And your mail index has the default indexing type: presence,
>>>> equality, and substring?
>>>
>>>
>>> Yes.
>>>
>>>> What type of indexing does the rfc822MailMember attribute have?
>>>
>>>
>>> I've tried without any indexing, with presence and equality and with
>>> presence, equality and substring. The above errors are from
>>> verify-db.pl when I have presence and equality indeces. If I have
>>> presence, equality and substring, I get these errors for
>>> rfc822MailMember:
>>>
>>> Verify db/ebiRoot/rfc822mailmember.db4 ...
>>> DB ERROR: db_verify: Page 13: unsorted duplicate set in sorted-dup
>>> database
>>> DB ERROR: db_verify: Page 6: unsorted duplicate set in sorted-dup
>>> database
>>> DB ERROR: db_verify: Page 8: unsorted duplicate set in sorted-dup
>>> database
>>> DB ERROR: db_verify: Page 12: unsorted duplicate set in sorted-dup
>>> database
>>> DB ERROR: db_verify: Page 3: unsorted duplicate set in sorted-dup
>>> database
>>> DB ERROR: db_verify: Page 7: unsorted duplicate set in sorted-dup
>>> database
>>> DB ERROR: db_verify: Page 10: unsorted duplicate set in sorted-dup
>>> database
>>> DB ERROR: db_verify: Page 15: unsorted duplicate set in sorted-dup
>>> database
>>> DB ERROR: db_verify: Page 4: unsorted duplicate set in sorted-dup
>>> database
>>> DB ERROR: db_verify: Page 14: unsorted duplicate set in sorted-dup
>>> database
>>> DB ERROR: db_verify: Page 5: unsorted duplicate set in sorted-dup
>>> database
>>> DB ERROR: db_verify: Page 9: unsorted duplicate set in sorted-dup
>>> database
>>> DB ERROR: db_verify: Page 11: unsorted duplicate set in sorted-dup
>>> database
>>> DB ERROR: db_verify: DB->verify: db/ebiRoot/rfc822mailmember.db4:
>>> DB_VERIFY_BAD: Database verification failed
>>> Secondary index file rfc822mailmember.db4 in db/ebiRoot is corrupted.
>>> Please run db2index(.pl) for reindexing.
>>>
>>>> Have we already heard what platform you are running the FDS on?
>>>
>>>
>>> CentOS release 4.4, Linux 2.6.9-42.ELsmp. Pentium III 2x1266MHz
>>> CPUs, 2GB memory, SCSI disks. I'm using FDS 1.0.4.
>>>
>>> I'm away this week Wed-Fri, so I'll get back to you next week.
>>>
>>> Thanks for the help!
>>>
>>> Ville
>>>
>>> --
>>> Fedora-directory-users mailing list
>>> Fedora-directory-users at redhat.com
>>> https://www.redhat.com/mailman/listinfo/fedora-directory-users
>>
>>
>>
>
> --
> Fedora-directory-users mailing list
> Fedora-directory-users at redhat.com
> https://www.redhat.com/mailman/listinfo/fedora-directory-users
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3237 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://listman.redhat.com/archives/fedora-directory-users/attachments/20070416/54ed6d37/attachment.bin>
More information about the Fedora-directory-users
mailing list