Search code examples
javaldapoidapacheds

Copy data from ORACLE Internet Directory (OID) to apacheDS LDAP


I have users and groups on an Oracle Internet Directory Server and I want to transfer everything to an ApacheDS.

Is it even possible or is there any easy way to go through this?

I have tried using Apache Directory Studio to Copy/Paste things but an error comes up saying :

#!RESULT ERROR
#!CONNECTION ldap://xxx.xxx.xxx.xxx:10389
#!DATE 2012-06-01T10:08:05.769
#!ERROR [LDAP: error code 16 - NO_SUCH_ATTRIBUTE: failed for MessageType : 
ADD_REQUEST Message ID : 11     
Add Request : Entry     
dn[n]: dc=xxxx,dc=com     
objectclass: orclSubscriber     

objectclass: domain     
objectclass: top     
orclaci: access to entry by
group="cn=RealmAdministrators,cn=groups,cn=OracleContext,dc=xxx,dc=com"
(browse,add,delete)     
orclaci: access to attr=(*) by 
group="cn=RealmAdministrators,cn=groups,cn=OracleContext,dc=xxx,dc=com" (read, write, 
search, compare)     
dc: xxx     
orclsubscriberfullname: xxx     
orclversion: 90400     orclentrylevelaci: access to entry by * (browse,noadd,nodelete)     
orclentrylevelaci: access to attr=(jpegPhoto) by group="cn=OracleDASConfiguration, 
cn=Groups,cn=OracleContext,dc=xxx,dc=com" (read,write,search,compare)     
orclentrylevelaci: access to attr=(*) by * (read,search,nowrite,nocompare) : 
ERR_04269 ATTRIBUTE_TYPE for OID orclaci does not exist!] 

I guess ApacheDS doesn't recognize some attributes used by OID (orclaci) but I a am nopt sure how to resolve this so that I can copy across the directory entries from Oracle IDS to ApacheDS


Solution

  • At a high level:

    First, make sure you have the appropriate schema elements installed on the destination server.

    Export/Import method

    • Check that the necessary schema is in place on the target server
    • Export the data from source directory server into an LDIF file
    • Import the LDIF into the target

    Brute Force

    Search for every entry with ldapsearch, save in a file or pipe directly to ldapmodify. This will not work unless the schemas match already, and you have the necessary access rights to:

    • Get every entry from the source
    • Add entries to the destination

    see also