[Fedora-directory-users] Deleting database
Richard Megginson
rmeggins at redhat.com
Fri Mar 23 16:28:02 UTC 2007
Ville Silventoinen wrote:
> On Fri, 23 Mar 2007, Richard Megginson wrote:
>
>> Ville Silventoinen wrote:
>>> On Fri, 23 Mar 2007, Richard Megginson wrote:
>>>
>>>> Ville Silventoinen wrote:
>>>>> On Thu, 22 Mar 2007, Richard Megginson wrote:
>>>>>
>>>>>> Ville Silventoinen wrote:
>>>>>>> I'm using Fedora DS 1.0.4. I've written an application that uses
>>>>>>> Fedora DS and next I'm planning to write unit tests. I'm
>>>>>>> wondering if there is a way to delete the whole userRoot
>>>>>>> database and create it again? I searched the documentation and
>>>>>>> there seems to be a way to create the database from command
>>>>>>> line, but no way to delete it, except from the GUI?
>>>>>> Just delete the entry (e.g. delete cn=userRoot,cn=ldbm
>>>>>> database,cn=plugins,cn=config). You will have to do some sort of
>>>>>> recursive deletion to remove all of the child entries. I think
>>>>>> this is what the GUI does - just check the access logs for the
>>>>>> server after deleting the database in the console.
>>>>>
>>>>> Thank you Richard, that worked very well. I also delete the
>>>>> mapping tree entry, which maps the suffix to the backend database:
>>>>>
>>>>> dn: cn="dc=ebi,dc=ac,dc=uk",cn=mapping tree,cn=config
>>>>> objectclass: top
>>>>> objectclass: extensibleObject
>>>>> objectclass: nsMappingTree
>>>>> nsslapd-state: backend
>>>>> nsslapd-backend: userRoot
>>>>> cn: dc=ebi,dc=ac,dc=uk
>>>>>
>>>>> The GUI works slightly differently, it sets nsslapd-state to
>>>>> "disabled" and removes the nsslapd-backend attribute.
>>>>>
>>>>> If anyone has a need for a script that can delete and create a
>>>>> database, I can send it to the list. I use Python with python-ldap
>>>>> package.
>>>>>
>>>>> Thank you very much for a fast response!
>>>> If you just want to restore the database to it's initial state, you
>>>> can just do an import - ldif2db or ldif2db.pl - this will remove
>>>> the previous contents and create a new database. This might be
>>>> sufficient for your purposes, without having to delete the database
>>>> and mapping tree entries. See ldif2db.pl for how to invoke an
>>>> import operation via ldap
>>>
>>> This may be a stupid question but how do I get ldif2db.pl to remove
>>> the previous contents so it can create the entries?
>>>
>>> I tried like this:
>>>
>>> ./ldif2db.pl -v -D "cn=Directory Manager" -w mypassword -n
>>> userRoot -i /path/to/userRoot.ldif
>>>
>>> but in the errors log it shows for every entry "WARNING: Skipping
>>> duplicate entry".
>> That usually means there are duplicate entries in your userRoot.ldif
>> file - can you post it somewhere and post the link to it here? I'd
>> rather not spam the list with a large ldif file.
>
> Thanks Richard! You were right, all the entries were defined twice in
> the file. I don't understand how that happened, I used the "Export
> Databases"
> task in the Console to create the file. If the file already exists,
> does it append new entries to it? I must have done something wrong...
It might append to it. I'm not sure.
>
> Just tested the import, it works very well. Entries are modified,
> removed and added to restore the original database. It's very fast too
> (my test server runs on an old Pentium 3):
>
> Processed 9854 entries in 9 seconds. (1094.89 entries/sec)
>
> Thank you again!
>
> Ville
>
> --
> 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: 3245 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://listman.redhat.com/archives/fedora-directory-users/attachments/20070323/b8bffad6/attachment.bin>
More information about the Fedora-directory-users
mailing list