In order to be able to sync from a relational database to an Oracle Internet Directory ( 10.1.2.0.2 ). We need to create our own Custom sync profile.
This profile will have to select the information we want to store in our OID plus it has to map these values to an entry in our OID.
The information we want to import can be selected in the configuration file ( in our case CUSTOMDB_OID.cfg ) while the mapping can be made threw the mapping file ( in our case CUSTOMDB_OID.map ). The integration server uses profiles which holds configuration and mappings.
To create your very own CUSTOMDB sync profile you can use these example files
CUSTOMDB_OID.properties – profile settings
CUSTOMDB_OID.cfg - configuration file
CUSTOMDB_OID.map - mapping file
CUSTOMDB_OID.properties
odip.profile.name = CUSTOMDB odip.profile.status = DISABLE odip.profile.syncmode = IMPORT odip.profile.retry = 5 odip.profile.schedinterval = 60 odip.profile.condirurl = db01.backbone.local:1521:APPSDB odip.profile.condiraccount = operator odip.profile.condirpassword = ******* odip.profile.interface = DB odip.profile.configfile = /u00/oracle/product/10.1.2/idm/ldap/odi/conf/CUSTOMDB_OID.cfg odip.profile.mapfile = /u00/oracle/product/10.1.2/idm/ldap/odi/conf/CUSTOMDB_OID.map odip.profile.lastchgnum = 0 odip.profile.debuglevel = 63
CUSTOMDB_OID.cfg
[DBQUERY select: ID, EMAILADDRESS, NAME, TO_CHAR(LAST_UPDATE,'YYYYMMDDHH24MISS') CHANGEDATE from APPSUSERS WHERE LAST_UPDATE>TO_DATE (:CHANGEDATE,'YYYYMMDDHH24MISS') ORDER BY LAST_UPDATE [SYNC-PARAMS] CHANGEKEYATTRS:CHANGEDATE [INTERFACEDETAILS] SKIPERRORTOSYNCNEXTCHANGE: TRUE
CUSTOMDB_OID.map
DomainRules NONLDAP:cn=users,dc=backbone,dc=local:cn=%,cn=users,dc=backbone,dc=local AttributeRules ID:1: : :cn: :person ID: : : :cn: :orcluserv2 ID: : : :cn: :organizationalPerson NAME: : : :sn: :person EMAILADDRESS: : : :mail: :inetOrgperson EMAILADDRESS: : : :uid: :inetOrgperson
And preform the following statement to load your own config in Oracle Internet Directory;
$ORACLE_HOME/bin/dipassistant createprofile -host idm01.backbone.local -port 389 -w <password> -configset 1 –file CUSTOMDB_OID.properties
We now have created a sync profile which uses the CHANGEDATE field in the relational database to determine if a row is changed and therefor needs to be resync or not.
This is a basic setup to use for a more complex import using more fields and mappings.
More information on the topic can be found here
