
{"id":6987,"date":"2022-01-10T22:27:58","date_gmt":"2022-01-10T22:27:58","guid":{"rendered":"https:\/\/rax-stg-wp-aws.com\/blogs\/oracle-internet-directory-migration-to-oracle-unified-directory\/"},"modified":"2026-11-03T19:27:23","modified_gmt":"2026-11-03T19:27:23","slug":"oracle-internet-directory-migration-to-oracle-unified-directory","status":"publish","type":"blogs","link":"https:\/\/www.rackspace.com\/de\/blogs\/oracle-internet-directory-migration-to-oracle-unified-directory\/","title":{"rendered":"Oracle Internet Directory Migration to Oracle Unified Directory"},"content":{"rendered":"<p>Oracle Internet Directory is a Lightweight Directory Access Protocol (LDAP) server which uses external oracle database to store the data and provides single sign-on solutions for Oracle Applications.<\/p>\n<ul>\n<li>OID provides high performance for large applications.<\/li>\n<li>OID is the most secure directory services providing security at each level from the data in transit to storage or backup.<\/li>\n<li>It provides Storage and Synchronization services. Oracle Unified Directory is an Oracle next generation all in one directory solution with storage, proxy, synchronizing and virtualization capabilities. This LDAP server is completely written in JAVA for large supports scalable deployments to provide high performance.<\/li>\n<\/ul>\n<p><em>You can use OUD for completing the following.<\/em><\/p>\n<ul>\n<li>LDAP Directory server to store data.<\/li>\n<li>As a Proxy server interface between client and directory server.<\/li>\n<li>Replication gateway between Oracle Unified Directory and Oracle Directory Server Enterprise Edition. There are two approaches for migrating OID to OUD:<\/li>\n<\/ul>\n<h3>1. Synchronizing OUD with OID using DIP<\/h3>\n<p><em>Pre Step<\/em><\/p>\n<p>You need to enable External change log as a pre-step to proceed with migration. The External Change log (ECL) is available by default on any server instance that includes both Directory server and Replication server. The ECL is enabled when directory server is configured as part of replication topology during installation, or you can configure replication by running dereplication command.<\/p>\n<p><code>$ dsreplication enable-changelog -h localhost -p 4444 -D \"cn=directory manager\" -j<\/code>&nbsp;<code>pwd-file -r 8989 -b dc=example,dc=com -X -n<\/code><\/p>\n<p>Verify change log is enabled, by running below command.<\/p>\n<p><code>ldapsearch -h &lt;HOSTNAME&gt; -p &lt;PORT&gt; -D \"cn=&lt;DM_ADMIN&gt;\" -w &lt;PASSWORD&gt; -s base -b \"\" <\/code>&nbsp;<code>\"objectclass=*\" namingContexts<\/code>&nbsp;<code>version: 1<\/code>&nbsp;<code>dn:<\/code>&nbsp;<code>namingContexts: cn=changelog<\/code>&nbsp;<code>namingContexts: &lt;SUFFIX_DN&gt;<\/code><\/p>\n<p><em>DIP and OID are configured and deployed<\/em><\/p>\n<h4>ENABLE SSL ON OID:<\/h4>\n<p>DIP-OID synchronization is possible with SSL mode only, you need to create OID wallet to allow the bind to OID in SSL mode. A self-signed wallet is needed to create using Enterprise manager and that should be copied to the Oracle wallet using the following steps.<\/p>\n<p>Steps to create OID Self signed Certificate:<\/p>\n<p>Export Trusted certificate and copy it to Oracle Wallet manager.<\/p>\n<p>Create OID Wallet from OWM and copy trusted certificate to wallet<\/p>\n<p><em>Bind to OID1 in SSL mode using below command.<\/em><\/p>\n<p><code>ldapbind -h &lt;OID_HOSTNAME&gt; -p &lt;OID_PORT&gt; -D \"cn=&lt;OID_ADMIN&gt;\" -w &lt;PASSWORD&gt; -U 2 <\/code>&nbsp;<code>-W \"file:\/home\/oracle\/oid1_client_wallet\" -P \"&lt;PASSWORD&gt;\"<\/code>&nbsp;<code>bind successful<\/code><\/p>\n<h3>DIP Configuration Steps<\/h3>\n<p><em>Create keystore using Keytool with OID self-signed certificate<\/em><\/p>\n<p><code>keytool -importcert -trustcacerts -file \/home\/oracle\/certificates_base\/ <\/code>&nbsp;<code>oid1_selfsigned_cert.txt -keystore $HOME\/dip_keystore<\/code><\/p>\n<p>Enter keystore password:<\/p>\n<p>Re-enter new password:<\/p>\n<p><code>Trust this certificate? [no]: yes<\/code><\/p>\n<p><code>Certificate was added to keystore<\/code><\/p>\n<p>&nbsp;<\/p>\n<p><em>Update DIP Config to point keystore location<\/em><\/p>\n<p><code>$ORACLE_HOME\/bin\/manageDIPServerConfig set -attribute keystorelocation -h<\/code><\/p>\n<p><code>&lt;OID_HOSTNAME&gt; -p &lt;WLS_PORT&gt; -D &lt;WL_ADMIN&gt; -value $HOME\/dip_keystore &lt;wls admin <\/code><\/p>\n<p><code>user password&gt;<\/code><\/p>\n<p><code>Connection parameters initialized. <\/code><\/p>\n<p><code>Connected successfully. <\/code><\/p>\n<p><code>The attribute keystorelocation is successfully changed to value \/home\/oracle\/dip_keystore. <\/code><\/p>\n<p><em>Configure DIP in SSL V2 mode using below command.<\/em><\/p>\n<p><code>$ORACLE_HOME\/bin\/manageDIPServerConfig set -attribute sslmode -h &lt;OID_HOSTNAME&gt; -p <\/code><\/p>\n<p><code>&lt;WLS_PORT&gt; -D &lt;WLS_ADMIN&gt; -value 2 &lt;wls admin user password&gt;<\/code><\/p>\n<p><code>Connection parameters initialized.<\/code><\/p>\n<p><code>Connected successfully.<\/code><\/p>\n<p><code>The attribute sslmode is successfully changed to a value of 2.<\/code><\/p>\n<p><em>Update Java Key store using wlst.sh and restart OID and DIP services to effect this changes.<\/em><\/p>\n<p><code>wlst.sh<\/code><\/p>\n<p><code>connect('&lt;WLS_ADMIN&gt;','&lt;PASSWORD&gt;','t3:\/\/localhost:&lt;EM_PORT&gt;')<\/code><\/p>\n<p><code>createCred(map=\"dip\",key=\"jksKey\", user=\"&lt;JKS_USER&gt;\",password=\"&lt;PASSWORD&gt;\")<\/code>&nbsp;<code>disconnect()<\/code><\/p>\n<h4>SYNCHRONIZATION PROFILE OUD AND OID:<\/h4>\n<p>You need to create Suffix_dn entry in OID to populate OUD data. It is very important to choose which suffix to create and it will be directly used during synchronization profile management. Select parent directory as shown in the following screenshot.<\/p>\n<h4>CREATE SYNCHRONIZATION PROFILE:<\/h4>\n<p>Go to Menu &gt; select OID in Identity and Access &gt; OID Administration and select Synchronization profile as shown in the following image.<\/p>\n<p>Create as below 2 Synchronization profiles.<\/p>\n<p><em>OUD &gt; OID: OUDImport<\/em>&nbsp;<em>OID &gt; OUD: OUDExport<\/em><\/p>\n<p>You need to decide whether OID should be used as a source or destination while creating synchronization profile.<\/p>\n<p>Use host name and port as OID hostname and port number as OID is being used as a source. Once above mapping is complete, OUDImport \/OUDExport maps&nbsp;<code>\u201cou=people, dc=people,dc=com\u201d<\/code>&nbsp;on each side as reflected in the following screenshot.<\/p>\n<p>Once mapping is enabled, by default the following attributes get automatically mapped.<\/p>\n<h4>BOOTSTRAPPING DATA FROM OID TO OUD:<\/h4>\n<p>Add OID ACI to allow DIP to access the suffix DN, inorder to perform syncProfileBootstrap.<\/p>\n<p>Add OID ACI using the following commands.<\/p>\n<p><code>cat aci_oudimport.ldif <\/code>&nbsp;<code>dn: ou=People,dc=people,dc=com <\/code>&nbsp;<code>changetype :modify<\/code>&nbsp;<code>add: orclaci<\/code>&nbsp;<code>orclaci:access to entry by dn=\"orclodipagentname=OUDImport,cn=subscriber profile, <\/code>&nbsp;<code>cn=changelog subscriber,cn=oracle internet directory\" (browse,add,delete)<\/code>&nbsp;<code>orclaci: access to attr=(*) by group=\"orclodipagentname=OUDImport,cn=subscriber<\/code>&nbsp;<code>profile,cn=changelog subscriber,cn=oracle internet directory\"<\/code>&nbsp;<code>(read,search,write, selfwrite,compare) <\/code><\/p>\n<p>Run ldapmodify command to add ACI.<\/p>\n<p><code>ldapmodify -h &lt;OID_HOSTNAME&gt; -p &lt;OID_PORT&gt; -D cn=&lt;OID_ADMIN&gt; -w &lt;PASSWORD&gt; -f <\/code>&nbsp;<code>aci_oudimport.ldif <\/code><\/p>\n<p>Run the following command to bootstrap data from OID to OUD.<\/p>\n<p><code>syncProfileBootstrap -h &lt;OID_HOSTNAME&gt; -p &lt;WLS_PORT&gt; -D &lt;WLS_ADMIN&gt; -pf OUDImport<\/code><\/p>\n<p><code>Connection parameters initialized.<\/code><\/p>\n<p><code>Connecting at &lt;OID_HOSTNAME&gt;:&lt;WLS_PORT&gt;, with userid \"&lt;WLS_ADMIN&gt;\".<\/code><\/p>\n<p><code>Connected successfully.<\/code><\/p>\n<p><em>The bootstrap operation completed, the operation results are:<\/em><\/p>\n<p><code>entries read in bootstrap operation: 1907<\/code><\/p>\n<p><code>entries filtered in bootstrap operation: 0<\/code><\/p>\n<p><code>entries ignored in bootstrap operation: 0<\/code><\/p>\n<p><code>entries processed in bootstrap operation: 1906<\/code><\/p>\n<p><code>entries failed in bootstrap operaton: 1<\/code><\/p>\n<p>Now you will be able to see suffix data at OUD side.<\/p>\n<p><code>ou=people,dc=people,dc=com<\/code><\/p>\n<h3>Schemasync<\/h3>\n<p>The Schemasync utility enables to synchronize schema attributes and object classes between OID and other the third party LDAP Directory.<\/p>\n<p><code>Syntax for Schemasync:<\/code><\/p>\n<p><code>schemasync -srchost hostname -srcport port -srcdn bindDN -srcpwd password -dsthost<\/code><\/p>\n<p><code>hostname -dstport port -dstdn bindDN -dstpwd password [-ldap]<\/code><\/p>\n<p><code>-srchost \u2013 Host name of source directory server.<\/code><\/p>\n<p><code>-srcport \u2013 Source directory source LDAP listening port<\/code><\/p>\n<p><code>-srcdn \u2013 The DN of the user used to bind to the source directory.<\/code><\/p>\n<p><code>-srcpwd \u2013 The user password used to bind to the source directory.<\/code><\/p>\n<p><code>-dsthost \u2013 Host name of Destination directory server.<\/code><\/p>\n<p><code>-destport \u2013 LDAP listening port for Destination directory server.<\/code><\/p>\n<p><code>-dstdn \u2013 DN of the user used to bind to the destination directory server.<\/code><\/p>\n<p><code>-ldap \u2013 When we use LDAP, Schema changes are applied directly from the source LDAP<\/code>&nbsp;<code>to destination LDAP.<\/code><\/p>\n<p><code>schemasync -srchost srchost.domain.com -srcport 3060 -srcdn \"cn=orcladmin\" \\ <\/code><\/p>\n<p><code>-dsthost dsthost.domain.com -dstport 3060 \\<\/code><\/p>\n<p><code>-dstdn \"uid=superuser,ou=people,dc=people,dc=com\" -ldap<\/code><\/p>\n<p>&nbsp;<\/p>\n<p>Once the above command is executed, verify DN details in the Destination directory server.<\/p>\n<h3>&nbsp;<\/h3>\n<h3>Conclusion:<\/h3>\n<p>The methods show in this post to migrate existing OID store to OUD to support large applications to enable single sign-on solutions. OUD provides high performance in users authentication process as LDAP server stores date. Migration steps are very straightforward to implement in any type of applications.<\/p>\n<p><a href=\"https:\/\/www.rackspace.com\/applications\/oracle\"><br \/>\n<img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26042-body-technical-blog-managed-oracle-applications-cta-image-1.png\" alt=\"Managed Oracle Applications CTA\" \/><br \/>\n<\/a><a href=\"https:\/\/www.rackspace.com\/data\/managed-sql\"><br \/>\n<img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26042-body-techncal-blog-managed-relational-databases-cta-image-1.png\" alt=\"Managed Relational Databases\" \/><br \/>\n<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Oracle Internet Directory Migration to Oracle Unified Directory<\/p>\n","protected":false},"author":2,"featured_media":6989,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","format":"standard","meta":{"content-type":"","nid":"26042","content_type":"blog","created_by":"11255","authored_on":"2023-09-14T21:27:58+00:00","field_article_industries":"","tag_category":"Technical","field_blog_author_text":"by Rackspace Technology Staff","seo_description":"Learn about migrating from Oracle Internet Directory (OID) to Oracle Unified Directory (OUD). Understand features and synchronization approaches.","field_featured_image":"","insights_image":"\/wp-content\/uploads\/2026\/blog_technical_images\/26042-insights_image-general-efficiences-technical-blog-1-insights.jpg","field_partners":"","rxt_platforms":"Oracle, MySQL, Relational Databases","product":"","publisheddate":"2022-01-10T22:27:58","rxt_solutions":"","opengraph_tag":"","x_tag":"","teaser_flag":"Technical Blog","seo_titile":"Oracle Internet Directory Migration to Unified Directory","field_topics":"","field_slug":"oracle-internet-directory-migration-to-oracle-unified-directory","footnotes":""},"categories":[178],"tags":[204],"class_list":["post-6987","blogs","type-blogs","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-technical"],"_links":{"self":[{"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/blogs\/6987","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/blogs"}],"about":[{"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/types\/blogs"}],"author":[{"embeddable":true,"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/comments?post=6987"}],"version-history":[{"count":2,"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/blogs\/6987\/revisions"}],"predecessor-version":[{"id":8658,"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/blogs\/6987\/revisions\/8658"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/media\/6989"}],"wp:attachment":[{"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/media?parent=6987"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/categories?post=6987"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rackspace.com\/de\/wp-json\/wp\/v2\/tags?post=6987"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}