{"id":46966,"date":"2026-09-18T14:27:08","date_gmt":"2026-09-18T12:27:08","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=46966"},"modified":"2026-09-18T14:27:10","modified_gmt":"2026-09-18T12:27:10","slug":"setup-an-ldap-server-for-oracle-naming-on-enterprise-linux-9","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/setup-an-ldap-server-for-oracle-naming-on-enterprise-linux-9\/","title":{"rendered":"Setup an LDAP server for Oracle naming on Enterprise Linux 9"},"content":{"rendered":"\n<h2 id=\"h-introduction\" class=\"wp-block-heading\">Introduction<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To centralise Oracle naming resolution, you can use an LDAP server. You can use the commercial products from Oracle like Oracle Internet Directory (OID) or Oracle Universal Directory (OUD). Alternatively, you can also use OpenLDAP from your Linux distribution. I have used this successfully with customers for many years.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I now wanted to build a new test environment for myself on an Enterprise Linux 9 system (RedHat, Oracle Linux). But then I noticed that the opendap server is no longer available. After some internet searching, I found the following blog post that describes how to install OpenLDAP on EL9: <a href=\"https:\/\/seanstuber.com\/2019\/12\/29\/setting-up-openldap-on-oracle-linux-8-for-tns-name-resolution\/\">https:\/\/seanstuber.com\/2019\/12\/29\/setting-up-openldap-on-oracle-linux-8-for-tns-name-resolution\/<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But is there no way to do this with on-board tools? A further search then revealed that RedHat has switched to 389-ds-base (<a href=\"https:\/\/www.port389.org\/\">https:\/\/www.port389.org\/<\/a>). So I want to try it with this native tool. And as I fear, almost everything is different here again&#8230; To spare you this try-and-error, I&#8217;ll give you the commands here on how to get an executable environment.<\/p>\n\n\n\n<h2 id=\"h-installation-and-configuration\" class=\"wp-block-heading\">Installation and configuration<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">First of all, install the software:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\n&#x5B;root@ol9b ~]# dnf install -y 389-ds-base openldap-clients\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Caution! I stongly recommend to do a <code>dnf upgrade<\/code> before. I had the problem that you couldn&#8217;t log in with ssh afterwards and the ssh daemon couldn&#8217;t be restarted.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>OpenSSL version mismatch. Built against 30000070, you have 30500080<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">At least a <code>dnf upgrade \"openssh*\"<\/code> was required and restart of sshd.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Afterwards, you can configure and start the LDAP server. We will use &#8220;orcladmin&#8221; as administrative user and &#8220;dbi&#8221; as instance name.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\n&#x5B;root@ol9b ~]# dscreate interactive\nInstall Directory Server (interactive mode)\n===========================================\n\nEnter system&#039;s hostname &#x5B;ol9b]:\n\nEnter the instance name &#x5B;ol9b]: dbi\n\nEnter port number &#x5B;389]:\n\nCreate self-signed certificate database &#x5B;yes]:\n\nEnter secure port number &#x5B;636]:\n\nEnter Directory Manager DN &#x5B;cn=Directory Manager]: cn=orcladmin\n\nEnter the Directory Manager password:\nConfirm the Directory Manager Password:\n\nChoose whether mdb or bdb is used. &#x5B;bdb]:\n\nEnter the database suffix (or enter &quot;none&quot; to skip) &#x5B;dc=ol9b]: none\n\nDo you want to start the instance after the installation? &#x5B;yes]:\n\nAre you ready to install? &#x5B;no]: yes\nStarting installation ...\nValidate installation settings ...\nCreate file system structures ...\nCreate self-signed certificate database ...\nPerform SELinux labeling ...\nPerform post-installation tasks ...\nCompleted installation for instance: slapd-dbi\n\n&#x5B;root@ol9b ~]#  systemctl status dirsrv@dbi\n\u25cf dirsrv@dbi.service - 389 Directory Server dbi.\n     Loaded: loaded (\/usr\/lib\/systemd\/system\/dirsrv@.service; enabled; preset: disabled)\n    Drop-In: \/usr\/lib\/systemd\/system\/dirsrv@.service.d\n             \u2514\u2500custom.conf\n...\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">After configuration, the daemon is already started and the service is also set to enabled. If you use a firewall on your server, open the ldap ports:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\n&#x5B;root@ol9b ~]# firewall-cmd --permanent --add-service=ldap\n&#x5B;root@ol9b ~]# firewall-cmd --permanent --add-service=ldaps\n&#x5B;root@ol9b ~]# firewall-cmd --reload\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Now we have to extend the schema with the extensions for Oracle naming resolution. Since Oracle 26ai (23.26), a schema file is available in $ORACLE_HOME\/network\/ldap\/schema\/openldap\/orclnetnaming.schema; This file has to be converted to an ldif file for the ldapmodify tool. From:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>attribute ( 2.16.840.1.113894.7.1.1\n  NAME 'orclVersion'\n  EQUALITY octetStringMatch\n  SYNTAX '1.3.6.1.4.1.1466.115.121.1.40' )\n\nattribute ( 2.16.840.1.113894.7.1.2\n  NAME 'orclOracleHome'\n  EQUALITY octetStringMatch\n  SYNTAX '1.3.6.1.4.1.1466.115.121.1.40' )\n...<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">to:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dn: cn=schema\nchangetype: modify\nadd: attributeTypes\nattributeTypes: ( 2.16.840.1.113894.7.1.1\n  NAME 'orclVersion'\n  EQUALITY octetStringMatch\n  SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )\n-\nadd: attributeTypes\nattributeTypes: ( 2.16.840.1.113894.7.1.2\n  NAME 'orclOracleHome'\n  EQUALITY octetStringMatch\n  SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )\n...<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">And now you can load this schema extensions<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\n&#x5B;root@ol9b ~]# ldapmodify -x -H ldap:\/\/ol9b:389 -D &quot;cn=orcladmin&quot; -W -f orclnetnaming.ldif\nEnter LDAP Password:\nmodifying entry &quot;cn=schema&quot;\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">We will create the DN dbi-services,dn=com<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\n&#x5B;root@ol9b ~]# dsconf dbi backend create --suffix=&quot;dc=com&quot; --be-name=&quot;com&quot; --create-suffix\nThe database was sucessfully created\n\n&#x5B;root@ol9b ~]# ldapadd -x -H ldap:\/\/ol9b:389 -D &quot;cn=orcladmin&quot;  -W -f dbi-services.ldif &lt;&lt;EOD\ndn: dc=dbi-services,dc=com\nobjectClass: top\nobjectClass: dcObject\nobjectClass: organization\no: Oracle Internet Directory\ndc: dbi-services\n\ndn: cn=OracleContext,dc=dbi-services,dc=com\nobjectclass: orclContext\ncn: OracleContext\nEOD\nEnter LDAP Password:\nadding new entry &quot;dc=dbi-services,dc=com&quot;\n\nadding new entry &quot;cn=OracleContext,dc=dbi-services,dc=com&quot;\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Oracle tools need the so-called &#8220;anonymous bind&#8221; so that they can query the data without logging in. We still have to activate this.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\n&#x5B;root@ol9b ~]# ldapmodify -x -H ldap:\/\/ol9b:389 -D &quot;cn=orcladmin&quot;  -W &lt;&lt;EOD\n dn: dc=dbi-services,dc=com\nchangetype: modify\nadd: aci\naci: (targetattr = &quot;*&quot;)(version 3.0; acl &quot;Anonymous read access&quot;; allow (read, search, compare) userdn = &quot;ldap:\/\/\/anyone&quot;;)\nEOD\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">The configuration is now complete, and we can insert the first sqlnet alias<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\n&#x5B;root@ol9b ~]# ldapadd -x -H ldap:\/\/ol9b:389 -D &quot;cn=orcladmin&quot;  -W &lt;&lt;EOD\ndn: cn=DB1970,cn=OracleContext,dc=dbi-services,dc=com\nobjectclass: top\nobjectclass: orclNetService\ncn: DB1970\norclNetDescString: (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=ltp14s-i)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=DB1970A.erfinder)))\nEOD\nEnter LDAP Password:\nadding new entry &quot;cn=DB1970,cn=OracleContext,dc=dbi-services,dc=com&quot;\n<\/pre><\/div>\n\n\n<h2 id=\"h-testing\" class=\"wp-block-heading\">Testing<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Now it gets exciting: does the Oracle name resolution work?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Probably we have to adapt our ldap.ora and sqlnet.ora files. For the test, I will create a temporary TNS_ADMIN directory.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\n&#x5B;oracle@ltp14 ~]# mkdir \/tmp\/ldap\n&#x5B;oracle@ltp14 ~]# export TNS_ADMIN=\/tmp\/ldap\n\n&#x5B;oracle@ltp14 ~]# echo &#039;DIRECTORY_SERVERS= (ol9b:389:636)\nDEFAULT_ADMIN_CONTEXT = &quot;dc=dbi-services,dc=com&quot;\nDIRECTORY_SERVER_TYPE = OID&#039; &gt;$TNS_ADMIN\/ldap.ora\n\n&#x5B;oracle@ltp14 ~]# echo &#039;NAMES.DEFAULT_DOMAIN=dbi-services.com\nNAMES.DIRECTORY_PATH=(LDAP)&#039; &gt;sqlnet.ora\n\n&#x5B;oracle@ltp14 ~]# tnsping DB1970\n\nTNS Ping Utility for Linux: Version 19.0.0.0.0 - Production on 18-SEP-2026 13:48:26\n\nCopyright (c) 1997, 2019, Oracle.  All rights reserved.\n\nUsed parameter files:\n\/u00\/app\/oracle\/network\/admin\/ldapdbi\/sqlnet.ora\n\nUsed LDAP adapter to resolve the alias\nAttempting to contact (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=ltp14s-i)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=DB1970A.erfinder)))\nOK (0 msec)\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">And YES! it works \ud83d\ude42<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Disclaimer: I&#8217;m not the expert of LDAP. I wanted to be able to quickly set up an LDAP server for Oracle name resolution. The setup certainly still has some optimization potential. Feel free to adapt it for your needs.<\/p>\n\n\n\n<h2 id=\"h-annex\" class=\"wp-block-heading\">Annex<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">orclnetnaming.ldif (converted from 26ai $ORACLE_HOME\/network\/ldap\/schema\/openldap\/orclnetnaming.schema)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dn: cn=schema\nchangetype: modify\nadd: attributeTypes\nattributeTypes: ( 2.16.840.1.113894.7.1.1 NAME 'orclVersion' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )\n-\nadd: attributeTypes\nattributeTypes: ( 2.16.840.1.113894.7.1.2 NAME 'orclOracleHome' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )\n-\nadd: attributeTypes\nattributeTypes: ( 2.16.840.1.113894.7.1.3 NAME 'orclSystemName' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )\n-\nadd: attributeTypes\nattributeTypes: ( 2.16.840.1.113894.7.1.4 NAME 'orclServiceType' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )\n-\nadd: attributeTypes\nattributeTypes: ( 2.16.840.1.113894.7.1.5 NAME 'orclSid' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )\n-\nadd: attributeTypes\nattributeTypes: ( 2.16.840.1.113894.7.1.6 NAME 'orclProductVersion' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )\n-\nadd: attributeTypes\nattributeTypes: ( 2.16.840.1.113894.3.1.1 NAME 'orclNetSourceRoute' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )\n-\nadd: attributeTypes\nattributeTypes: ( 2.16.840.1.113894.3.1.2 NAME 'orclNetLoadBalance' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )\n-\nadd: attributeTypes\nattributeTypes: ( 2.16.840.1.113894.3.1.3 NAME 'orclNetFailover' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )\n-\nadd: attributeTypes\nattributeTypes: ( 2.16.840.1.113894.3.1.4 NAME 'orclNetSdu' EQUALITY numericStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.36 )\n-\nadd: attributeTypes\nattributeTypes: ( 2.16.840.1.113894.3.1.5 NAME 'orclNetServer' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )\n-\nadd: attributeTypes\nattributeTypes: ( 2.16.840.1.113894.3.1.6 NAME 'orclNetServiceName' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )\n-\nadd: attributeTypes\nattributeTypes: ( 2.16.840.1.113894.3.1.7 NAME 'orclNetInstanceName' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )\n-\nadd: attributeTypes\nattributeTypes: ( 2.16.840.1.113894.3.1.8 NAME 'orclNetHandlerName' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )\n-\nadd: attributeTypes\nattributeTypes: ( 2.16.840.1.113894.3.1.9 NAME 'orclNetParamList' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )\n-\nadd: attributeTypes\nattributeTypes: ( 2.16.840.1.113894.3.1.10 NAME 'orclNetAuthenticationType' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )\n-\nadd: attributeTypes\nattributeTypes: ( 2.16.840.1.113894.3.1.11 NAME 'orclNetAuthParams' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )\n-\nadd: attributeTypes\nattributeTypes: ( 2.16.840.1.113894.3.1.12 NAME 'orclNetDescName' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )\n-\nadd: attributeTypes\nattributeTypes: ( 2.16.840.1.113894.3.1.13 NAME 'orclNetDescString' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )\n-\nadd: attributeTypes\nattributeTypes: ( 2.16.840.1.113894.3.1.14 NAME 'orclNetAddressString' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )\n-\nadd: attributeTypes\nattributeTypes: ( 2.16.840.1.113894.3.1.15 NAME 'orclNetProtocol' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )\n-\nadd: attributeTypes\nattributeTypes: ( 2.16.840.1.113894.3.1.16 NAME 'orclNetShared' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )\n-\nadd: attributeTypes\nattributeTypes: ( 2.16.840.1.113894.3.1.17 NAME 'orclNetAddrList' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )\n-\nadd: attributeTypes\nattributeTypes: ( 2.16.840.1.113894.3.1.18 NAME 'orclNetProtocolStack' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )\n-\nadd: attributeTypes\nattributeTypes: ( 2.16.840.1.113894.3.1.19 NAME 'orclNetDescList' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )\n-\nadd: attributeTypes\nattributeTypes: ( 2.16.840.1.113894.3.1.20 NAME 'orclNetConnParamList' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )\n-\nadd: attributeTypes\nattributeTypes: ( 2.16.840.1.113894.3.1.21 NAME 'orclNetAuthenticationService' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )\n-\nadd: objectClasses\nobjectClasses: ( 2.16.840.1.113894.7.2.3 NAME 'orclContext' SUP top MAY ( cn $   orclNetDescName ) )\n-\nadd: objectClasses\nobjectClasses: ( 2.16.840.1.113894.7.2.6 NAME 'orclSchemaVersion' SUP top MUST ( cn $   orclProductVersion ) )\n-\nadd: objectClasses\nobjectClasses: ( 2.16.840.1.113894.3.2.1 NAME 'orclNetAddress' SUP top MUST (cn) MAY ( orclNetAddressString $ orclNetProtocol $ orclNetShared $ orclVersion $description) )\n-\nadd: objectClasses\nobjectClasses: ( 2.16.840.1.113894.3.2.2 NAME 'orclNetAddressList' SUP top MUST (cn)\n     MAY ( orclNetAddrList $ orclNetSourceRoute $ orclNetLoadBalance $ orclNetFailover $ orclNetShared $ orclVersion $ description ) )\n-\nadd: objectClasses\nobjectClasses: ( 2.16.840.1.113894.3.2.3\n     NAME 'orclNetDescription' SUP top\n     MUST (cn)\n     MAY ( orclVersion  $ orclNetSourceRoute  $  orclNetSdu $ orclNetServer $ orclNetServiceName $ orclNetInstanceName $ orclNetHandlerName $ orclNetParamList $ orclNetAuthenticationType $ orclNetAuthParams $ orclNetShared $ orclNetAddrList $  orclNetProtocolStack $ orclNetConnParamList $ orclNetAuthenticationService $ orclNetLoadBalance $   orclNetDescList $ orclNetFailover $ orclNetShared $ orclNetAddrList ) )\n-\nadd: objectClasses\nobjectClasses: ( 2.16.840.1.113894.3.2.30\n     NAME 'orclNetDescriptionAux1' SUP top\n     AUXILIARY MUST (cn)\n     MAY ( orclVersion  $ orclNetSourceRoute  $  orclNetSdu $ orclNetServer $ orclNetServiceName $ orclNetInstanceName $ orclNetHandlerName $ orclNetParamList $ orclNetAuthenticationType $ orclNetAuthParams $ orclNetShared $ orclNetAddrList $  orclNetProtocolStack $ orclNetConnParamList $ orclNetAuthenticationService $ orclNetLoadBalance $   orclNetDescList $ orclNetFailover $ orclNetShared $ orclNetAddrList ) )\n-\nadd: objectClasses\nobjectClasses: ( 2.16.840.1.113894.3.2.4\n     NAME 'orclNetDescriptionList' SUP top\n     MUST (cn)\n     MAY ( orclNetLoadBalance $   orclNetDescList $ orclNetFailover $ orclNetShared $ orclNetAddrList ) )\n-\nadd: objectClasses\nobjectClasses: ( 2.16.840.1.113894.3.2.5\n     NAME 'orclNetService' SUP top\n     MUST (cn)\n     MAY ( orclNetServiceName $ orclNetDescString $ orclNetDescName $ orclNetSourceRoute ) )<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction To centralise Oracle naming resolution, you can use an LDAP server. You can use the commercial products from Oracle like Oracle Internet Directory (OID) or Oracle Universal Directory (OUD). Alternatively, you can also use OpenLDAP from your Linux distribution. I have used this successfully with customers for many years. I now wanted to build [&hellip;]<\/p>\n","protected":false},"author":123,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":"","_members_access_role":[],"_members_access_error":""},"categories":[229,198,42,59],"tags":[],"type_dbi":[],"class_list":["post-46966","post","type-post","status-publish","format-standard","hentry","category-database-administration-monitoring","category-database-management","category-operating-systems","category-oracle"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.5 (Yoast SEO v28.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Setup an LDAP server for Oracle naming on Enterprise Linux 9 - dbi Blog<\/title>\n<meta name=\"description\" content=\"use an ldap server for oracle naming resolution (configured in TNS_ADMIN). for rehdat EL9 we can use the 389-ds-bind package\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/setup-an-ldap-server-for-oracle-naming-on-enterprise-linux-9\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Setup an LDAP server for Oracle naming on Enterprise Linux 9\" \/>\n<meta property=\"og:description\" content=\"use an ldap server for oracle naming resolution (configured in TNS_ADMIN). for rehdat EL9 we can use the 389-ds-bind package\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/setup-an-ldap-server-for-oracle-naming-on-enterprise-linux-9\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-18T12:27:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-18T12:27:10+00:00\" \/>\n<meta name=\"author\" content=\"Martin Bracher\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Martin Bracher\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/setup-an-ldap-server-for-oracle-naming-on-enterprise-linux-9\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/setup-an-ldap-server-for-oracle-naming-on-enterprise-linux-9\\\/\"},\"author\":{\"name\":\"Martin Bracher\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/86cb065eea74ac30961c4cc45ce56c9e\"},\"headline\":\"Setup an LDAP server for Oracle naming on Enterprise Linux 9\",\"datePublished\":\"2026-09-18T12:27:08+00:00\",\"dateModified\":\"2026-09-18T12:27:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/setup-an-ldap-server-for-oracle-naming-on-enterprise-linux-9\\\/\"},\"wordCount\":466,\"commentCount\":0,\"articleSection\":[\"Database Administration &amp; Monitoring\",\"Database management\",\"Operating systems\",\"Oracle\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/setup-an-ldap-server-for-oracle-naming-on-enterprise-linux-9\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/setup-an-ldap-server-for-oracle-naming-on-enterprise-linux-9\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/setup-an-ldap-server-for-oracle-naming-on-enterprise-linux-9\\\/\",\"name\":\"Setup an LDAP server for Oracle naming on Enterprise Linux 9 - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"datePublished\":\"2026-09-18T12:27:08+00:00\",\"dateModified\":\"2026-09-18T12:27:10+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/86cb065eea74ac30961c4cc45ce56c9e\"},\"description\":\"use an ldap server for oracle naming resolution (configured in TNS_ADMIN). for rehdat EL9 we can use the 389-ds-bind package\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/setup-an-ldap-server-for-oracle-naming-on-enterprise-linux-9\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/setup-an-ldap-server-for-oracle-naming-on-enterprise-linux-9\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/setup-an-ldap-server-for-oracle-naming-on-enterprise-linux-9\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Setup an LDAP server for Oracle naming on Enterprise Linux 9\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/86cb065eea74ac30961c4cc45ce56c9e\",\"name\":\"Martin Bracher\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/864a93d77bcd4cd44bab880a88f25fb5173ffbfac8e6e8775f0b4e056a4fbb56?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/864a93d77bcd4cd44bab880a88f25fb5173ffbfac8e6e8775f0b4e056a4fbb56?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/864a93d77bcd4cd44bab880a88f25fb5173ffbfac8e6e8775f0b4e056a4fbb56?s=96&d=mm&r=g\",\"caption\":\"Martin Bracher\"},\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/martinbracher\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Setup an LDAP server for Oracle naming on Enterprise Linux 9 - dbi Blog","description":"use an ldap server for oracle naming resolution (configured in TNS_ADMIN). for rehdat EL9 we can use the 389-ds-bind package","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/setup-an-ldap-server-for-oracle-naming-on-enterprise-linux-9\/","og_locale":"en_US","og_type":"article","og_title":"Setup an LDAP server for Oracle naming on Enterprise Linux 9","og_description":"use an ldap server for oracle naming resolution (configured in TNS_ADMIN). for rehdat EL9 we can use the 389-ds-bind package","og_url":"https:\/\/www.dbi-services.com\/blog\/setup-an-ldap-server-for-oracle-naming-on-enterprise-linux-9\/","og_site_name":"dbi Blog","article_published_time":"2026-09-18T12:27:08+00:00","article_modified_time":"2026-09-18T12:27:10+00:00","author":"Martin Bracher","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Martin Bracher","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/setup-an-ldap-server-for-oracle-naming-on-enterprise-linux-9\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/setup-an-ldap-server-for-oracle-naming-on-enterprise-linux-9\/"},"author":{"name":"Martin Bracher","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/86cb065eea74ac30961c4cc45ce56c9e"},"headline":"Setup an LDAP server for Oracle naming on Enterprise Linux 9","datePublished":"2026-09-18T12:27:08+00:00","dateModified":"2026-09-18T12:27:10+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/setup-an-ldap-server-for-oracle-naming-on-enterprise-linux-9\/"},"wordCount":466,"commentCount":0,"articleSection":["Database Administration &amp; Monitoring","Database management","Operating systems","Oracle"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/setup-an-ldap-server-for-oracle-naming-on-enterprise-linux-9\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/setup-an-ldap-server-for-oracle-naming-on-enterprise-linux-9\/","url":"https:\/\/www.dbi-services.com\/blog\/setup-an-ldap-server-for-oracle-naming-on-enterprise-linux-9\/","name":"Setup an LDAP server for Oracle naming on Enterprise Linux 9 - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2026-09-18T12:27:08+00:00","dateModified":"2026-09-18T12:27:10+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/86cb065eea74ac30961c4cc45ce56c9e"},"description":"use an ldap server for oracle naming resolution (configured in TNS_ADMIN). for rehdat EL9 we can use the 389-ds-bind package","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/setup-an-ldap-server-for-oracle-naming-on-enterprise-linux-9\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/setup-an-ldap-server-for-oracle-naming-on-enterprise-linux-9\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/setup-an-ldap-server-for-oracle-naming-on-enterprise-linux-9\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Setup an LDAP server for Oracle naming on Enterprise Linux 9"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/86cb065eea74ac30961c4cc45ce56c9e","name":"Martin Bracher","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/864a93d77bcd4cd44bab880a88f25fb5173ffbfac8e6e8775f0b4e056a4fbb56?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/864a93d77bcd4cd44bab880a88f25fb5173ffbfac8e6e8775f0b4e056a4fbb56?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/864a93d77bcd4cd44bab880a88f25fb5173ffbfac8e6e8775f0b4e056a4fbb56?s=96&d=mm&r=g","caption":"Martin Bracher"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/martinbracher\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/46966","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/123"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=46966"}],"version-history":[{"count":12,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/46966\/revisions"}],"predecessor-version":[{"id":46978,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/46966\/revisions\/46978"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=46966"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=46966"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=46966"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=46966"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}