Howard Chu writes:
You could give back-ldif a try. It certainly will not perform well, but it's so simple that data corruption wouldn't be an issue.
Actually it can leave behind a temporary file if you pull the plug on slapd at just the wrong moment, when an entry is being written. That won't affect the entry, but the parent entry cannot be deleted when there are temporary files in its directory.
A fix would be: Before starting slapd, delete regular files without an '.ldif' suffix below the database directory. On Unix filesystems,
find '<database-directory>' -type f ! -name '*.ldif' -exec rm '{}' ;
On filesystem with case-insensitive, max 3 chars extensions etc, you'd have to take more care...