SlideShare une entreprise Scribd logo
1  sur  65
Télécharger pour lire hors ligne
© Tieto Corporation
PublicPublic
Lessons Learnt from Oracle Unified
Directory implementation
with Oracle E-Business Suite
R12.2.5
Andrejs Karpovs
Andrejs Prokopjevs
© Tieto Corporation
Public
About slide -
Andrejs K.
• Lead Oracle Apps DBA / Architect
• In Oracle DB/Middleware/EBS since 2008
• Works at Tieto
• Oracle Certified Master 11g
• Oracle ACE
• Speaker at worldwide conferences
• UKOUG since 2011,
• COLLABORATE since 2014,
• OUGH, UKOUG_IRE
• Social media
• Twitter: @AndrejsKarpovs
• Blog: adbaday.wordpress.com
2
© Tieto Corporation
Public
About slide -
Andrejs P.
3
Apps DBA from Riga, Latvia.
Speaking SQL since 2001.
In Oracle world since 2004.
“In love” with Oracle EBS since 2006.
Andrejs Prokopjevs
Lead Applications Database Consultant
At Pythian since 2011
@aprokopjevs
prokopjevs@pythian.com
https://www.pythian.com/blog/author/prokopjevs/
© Tieto Corporation
PublicPublic
Background
Theory
© Tieto Corporation
Public
Clearing out the alphabet soup :)
https://docs.oracle.com/middleware/11119/core/INOIM/under_in
stall.htm#INOIM1024
5
OHS
© Tieto Corporation
Public
Integration Architecture w/ E-
Business Suite 11i/R12.1
6
Oracle
Virtual
Directory
© Tieto Corporation
Public
Integration Architecture w/ E-
Business Suite R12.2
7
Oracle
Unified
Directory
or OID
© Tieto Corporation
Public
Oracle Unified Directory:
Brief description
• ldap v3 - Sun iPlanet Directory
• Unified Directory Services Solution
• Storage
• Directory Server
• Proxy
• Virtualization
• Virtual directory view of the different repositories
• Routes data to and from the repositories
• Replication
• Load Balancing
• OUD, OVD and DIP are part of ODS Plus
• Developed entirely in Java
• Embarks Java DB (OBDB JE), no need for extra Oracle DB
8
© Tieto Corporation
Public
Oracle Unified Directory:
Replication and High Availability
9
© Tieto Corporation
Public
Main differences
OUD OID
• Clustering concept
• Multiple local DBs repl. data
within repl. groups
• Runtime
• Java
• Tools
• No ldapadd anymore,
"ldapmodify --defaultAdd"
• Backup
• No PITR, full or incremental
initiated by “backup” utility
• SSL
• All Java requirements like JKS
keystores
10
• Clustering concept
• Multiple instances connects w/ single
Oracle DB
• Runtime
• C
• Tools
• ldapadd, ldapmodify, ldapdelete and
more.
• Backup
• Leveraging all Oracle Database
backup and recovery features
• SSL
• No special requirements or
associated complications
© Tieto Corporation
PublicPublic
Implementation w/
E-Business Suite
© Tieto Corporation
Public
Required Software Overview
• E-Business Suite R12.2.5+ (FMW 11.1.1.9, R12.AD.C.7+, patches
22098300, 21229697, 24008856)
• Oracle Directory Integration Platform 11g Release 1 Patch Set 7 (11.1.1.9)
for Oracle Fusion Middleware Identity Management
• Oracle Unified Directory 11g Release 2 Patch Set 3 (11.1.2.3)
• Oracle Directory Services Manager (ODSM) 11.1.2.3
• Weblogic Server 11g (10.3.6)
• Oracle ADF 11.1.1.9
• Oracle Access Manager 11.1.2.3
• Weblogic Server 11g (10.3.6)
• Repository Creation Utility 11.1.1.9
12
© Tieto Corporation
Public
Installation and Configuration
Architecture
1
3
© Tieto Corporation
Public
Documentation
Best Sources
• Integrating Oracle E-Business Suite Release 12.2 with Oracle Unified
Directory 11gR2 (Doc ID 2003483.1)
• Integrating Oracle E-Business Suite Release 12.2 with Oracle Access
Manager 11gR2 (11.1.2) using Oracle E-Business Suite AccessGate (Doc
ID 1576425.1)
• Oracle® Fusion Middleware Installation Guide for Oracle Identity
Management
• https://docs.oracle.com/middleware/11119/core/INOIM/under_install.ht
m#INOIM1024
14
© Tieto Corporation
Public
OUD Integration Steps:
Configure OUD
$ echo "welcome1" > /tmp/oud_pwd
$ ./oud-setup --cli 
--hostName myoud.domain.com --ldapPort 1389 --ldapsPort 1636 
--adminConnectorPort 4461 
--rootUserDN "cn=directory manager" --rootUserPasswordFile /tmp/oud_pwd 
--generateSelfSignedCertificate --enableStartTLS 
--baseDN dc=example,dc=com 
--integration generic 
--serverTuning 512m --offlineToolsTuning 512m 
--no-prompt
• “generic” integration option allows you to complete the integration
for EBS by creating the necessary naming context.
15
© Tieto Corporation
Public
OUD Integration Steps:
Configure Naming Context
• Very important as this will bring issues at later stages if not executed
• https://docs.oracle.com/cd/E52734_01/oud/OUDAG/eus.htm#BAB
GJFEE
• Locate the LDIF template file at
OUD_instance_dir/config/EUS/modifyRealm.ldif
• Edit and replace as per your configuration:
• dc=example,dc=com
$ ldapmodify -h localhost -p 1389 -D "cn=directory manager" -j pwd-file -f
modifyRealm.ldif
16
© Tieto Corporation
Public
• Enable the External Change Log
$ dsreplication enable-changelog -h localhost -p 4461 -D "cn=directory manager" -j /tmp/oud_pwd -r 8989 -
b dc=example,dc=com --trustAll --no-prompt
$ dsreplication enable-changelog -h localhost -p 4461 -D "cn=directory manager" -j /tmp/oud_pwd -r 8989 -
b cn=oraclecontext --trustAll --no-prompt
• Enforce Unique UID Attribute
$ dsconfig -p 4461 -h localhost -D "cn=directory manager" -j /tmp/oud_pwd -n --trustAll set-plugin-prop -
-plugin-name "UID Unique Attribute" --set enabled:true
$ dsconfig -p 4461 -h localhost -D "cn=directory manager" -j /tmp/oud_pwd -n --trustAll set-plugin-prop -
-plugin-name "UID Unique Attribute" --set base-dn:ou=people,dc=example,dc=com
• Configure DIP for OUD
$ $ORACLE_HOME/bin/dipConfigurator setup -wlshost localhost -wlsport 7001 -wlsuser weblogic -ldaphost
localhost -ldapport 1389 -ldapuser "cn=directory manager" -isldapssl false -ldapadminport 4461
• Add Access Control Instructions for OUD
• See MOS note for instructions
OUD Integration Steps:
Further configuration
17
© Tieto Corporation
Public
OUD Integration Steps:
Registration w/ EBS
• Start EBS Online Patching Cycle (adop phase=prepare)
• Run all the actions against patch_fs
• Registration script
• $FND_TOP/bin/txkrun.pl -script=SetSSOReg -registerldap=yes 
-ldapadminuser="cn=directory manager"
• Update EBS Profile Options
• Applications SSO Enable OID Identity: Enabled
• Applications SSO Type: SSWA /wSSO
• Applications SSO Auto Link User: Enabled
• Autoconfig
• Cutover
• Side note: You can do this in hot mode - directly on run
• Multi-node: This isn’t required to be executed on all nodes as stated in the documentation.
18
© Tieto Corporation
Public
OAM Integration Steps:
Registration w/ EBS
• Start EBS Online Patching Cycle (adop phase=prepare)
• Run all the actions against patch_fs
• Install WebGate
• $FND_TOP/bin/txkrun.pl -script=SetOAMReg -installWebgate=yes -
webgatestagedir=/path/to/extracted/stage (where Disk1 is extracted)
• Recommendation: Apply WebGate patches now
• $PATCH_BASE/FMW_Home/Oracle_OAMWebGate1
• Deploy AccessGate
• perl $AD_TOP/patch/115/bin/adProvisionEBS.pl ebs-create-oaea_resources -
deployApps=accessgate
• Register OAM
• $FND_TOP/bin/txkrun.pl -script=SetOAMReg -registeroam=yes -ldapProvider=OUD
• Autoconfig
• Cutover
19
© Tieto Corporation
Public
OAM Integration Steps:
Registration w/ EBS (II)
• Side note: You can do this in hot mode too - directly on run.
• But beware of Bug 19817016 !!!
• oaea_server1 (AccessGate) port conflict between run and patch
during the fs_clone.
• Solution:
• Stop oaea_server1.
• Run fs_clone.
• Restart oaea_server1.
• Next fs_clone executions will not have this conflict anymore.
20
© Tieto Corporation
PublicPublic
Issues faced while
implementing OUD
© Tieto Corporation
Public
Issue #1:
Configure Naming Context
• OUD_instance_dir/config/EUS/modifyRealm.ldif
• Documentation bug
$ ls -l $ORACLE_INSTANCE/config/EUS/modifyRealm.ldif
ls: cannot access /u01/app/oracle/product/fmw11g_oud/instances/OUD_instance/config/EUS/modifyRealm.ldif: No such file or directory
$ ls -l $ORACLE_HOME/config/EUS/modifyRealm.ldif
-rw-r-----. 1 oracle oinstall 1608 Nov 15 2013 /u01/app/oracle/product/fmw11g_oud/Oracle_OUD1/config/EUS/modifyRealm.ldif
$
• What does it fix?
# cn=Common,cn=Products,cn=OracleContext
orclSubscriberSearchBase: dc=com
orclSubscriberNickNameAttribute: dc
orclDefaultSubscriber: dc=example,dc=com
# cn=Common,cn=Products,cn=OracleContext,dc=example,dc=com
orclCommonUserSearchBase: ou=people,dc=example,dc=com
orclCommonGroupSearchBase: ou=groups,dc=example,dc=com
• Side note: Handled automatically in 11.1.2.3.161018
22
© Tieto Corporation
Public
Issue #2:
No Subscriber found
• Let’s query the naming context we created.
$ ldapsearch -h localhost -p 1389 -D "cn=directory manager" -j /tmp/oud_pwd -b "dc=example,dc=com" -s one
"(objectclass=*)" "dn”
dn: cn=OracleContext,dc=example,dc=com
$
• Where is my naming context base entry?
$ ldapsearch -h localhost -p 1389 -D "cn=directory manager" -j /tmp/oud_pwd -b "dc=example,dc=com" -s
base "(objectclass=*)" "dn”
SEARCH operation failed
Result Code: 32 (No Such Entry)
Additional Information: The entry dc=example,dc=com specified as the search base does not exist in the
Directory Server
$
23
© Tieto Corporation
Public
• Let’s query the naming context we created.
$ ldapmodify -h localhost -p 1389 -D "cn=directory manager" -j /tmp/oud_pwd –defaultAdd
dn: dc=example,dc=com
orclversion: 90600
dc: example
orclsubscriberfullname: example
objectClass: top
objectClass: domain
objectClass: orclSubscriber
aci: (targetattr != "userpassword || authpassword || aci") (version 3.0; acl "Anonymous read access to
dc=example, dc=com"; allow (read,search,compare) userdn = "ldap:///anyone";)
$
• Optional: Add read-only ACI permission for non-super-user access (except
password attributes). Example.
Issue #2:
Fix
24
© Tieto Corporation
Public
Issue #3:
User and Group Base DNs
• Let’s query the naming context again.
$ ldapsearch -h localhost -p 1389 -D "cn=directory manager" -j /tmp/oud_pwd -b "dc=example,dc=com" -s one "(objectclass=*)" "dn”
dn: cn=OracleContext,dc=example,dc=com
$
• Where are my user and group base DNs?
• Fix:
$ ldapmodify -h localhost -p 1389 -D "cn=directory manager" -j /tmp/oud_pwd –defaultAdd
dn: ou=people,dc=example,dc=com
ou: people
objectClass: top
objectClass: organizationalUnit
dn: ou=groups,dc=example,dc=com
ou: groups
objectClass: top
objectClass: organizationalUnit
$
25
© Tieto Corporation
Public
Issue #4:
Write permissions for DIP profiles
• Documentation states that we need to apply these ACIs
dn: dc=example,dc=com
changetype: modify
add: aci
aci: (target=" ldap:///dc=example,dc=com" )(version 3.0; acl "Entry-level DIP permissions"; allow
(all,proxy) groupdn=" ldap:///cn=odisgroup,cn=DIPadmins,cn=Directory Integration
platform,cn=Products,cn=oraclecontext"; allow (all,proxy) groupdn="
ldap:///cn=dipadmingrp,cn=DIPadmins,cn=Directory Integration Platform,cn=Products,cn=oraclecontext";)
-
add: aci
aci: (targetattr="*")(version 3.0; acl "Attribute-level DIP permissions"; allow (all,proxy) groupdn="
ldap:///cn=odisgroup,cn=DIPadmins,cn=Directory Integration Platform,cn=Products,cn=oraclecontext"; allow
(all,proxy) groupdn=" ldap:///cn=dipadmingrp,cn=DIPadmins,cn=Directory Integration
Platform,cn=Products,cn=oraclecontext";)
• But DIP runtime still fails on writes
• DIP profile DNs are actually running with “odipgroup” App DNs
26
© Tieto Corporation
Public
Issue #4:
Fix
$ ldapmodify -h localhost -p 1389 -D "cn=directory manager" -j /tmp/oud_pwd
dn: dc=example,dc=com
changetype: modify
add: aci
aci: (target="ldap:///dc=example,dc=com" )(version 3.0; acl "Entry-level DIP permissions"; allow
(all,proxy) groupdn=" ldap:///cn=odipgroup,cn=DIPadmins,cn=Directory Integration
platform,cn=Products,cn=oraclecontext";)
-
add: aci
aci: (targetattr="*")(version 3.0; acl "Attribute-level DIP permissions"; allow (all,proxy) groupdn="
ldap:///cn=odipgroup,cn=DIPadmins,cn=Directory Integration Platform,cn=Products,cn=oraclecontext";)
• Still an open issue with OID BUNDLE PATCH
11.1.1.9.160719
27
© Tieto Corporation
Public
Issue #5: OUD restrictions on
unindexed search
• There are limits when OUD allows non-super-user to do
unindexed searches
• None of Oracle specific attributes are indexed, like it is in
OID
• Example:
[27/Apr/2016:01:25:45 -0700] SEARCH RES conn=381168 op=514 msgID=515 result=50 message="You do not have
sufficient privileges to perform an unindexed search Operation 'SEARCH' failed in participant 'user' for
entry 'ou=people,dc=example,dc=com' Operation 'SEARCH' failed in participant 'user' for entry
'ou=people,dc=example,dc=com'" nentries=0 authzDN="orclodipagentname=AD_DIP_PROFILE,cn=subscriber
profile,cn=changelog subscriber,cn=directory integration platform,cn=products,cn=OracleContext" etime=0
28
© Tieto Corporation
Public
Issue #5:
Fix
• Fix: give a permission to your required DIP App DN.
ldapmodify -h localhost -p 1389 -D "cn=directory manager" -j /tmp/oud_pwd
dn: orclodipagentname=AD_DIP_PROFILE,cn=subscriber profile,cn=changelog subscriber,cn=directory
integration platform,cn=products,cn=OracleContext
changetype: modify
add: ds-privilege-name
ds-privilege-name: unindexed-search
-
add: ds-privilege-name
ds-privilege-name: proxied-auth
29
© Tieto Corporation
Public
Issue #6:
cn=changelog data timeout
• By default, purge delay for replication in OUD is set to 1 day. Set it at least
to 1 week
$ dsconfig -h localhost -p 4461 -D "cn=directory manager" -w password -n get-replication-server-prop --
provider-name "Multimaster Synchronization" --advanced --property replication-purge-delay
Property : Value(s)
------------------------:---------
replication-purge-delay : 1 d
$ dsconfig -h localhost -p 4461 -D "cn=directory manager" -w password -n set-replication-server-prop --
provider-name "Multimaster Synchronization" --set replication-purge-delay:1w
• Historical replication data retention also can be tuned
$ dsconfig -h localhost -p 4461 -D "cn=directory manager" -w password -X -n 
set-replication-domain-prop --provider-name "Multimaster Synchronization" 
--domain-name dc=example,dc=com --set conflicts-historical-purge-delay:7200m
30
© Tieto Corporation
PublicPublic
Issues faced while
implementing OAM
© Tieto Corporation
Public
Issue #1:
EBS registration
• txkrun.pl -script=SetOAMReg -registeroam=yes -ldapProvider=OUD
Successfully registered the WebGate with OAM
Copying registration artifacts to WebGate configuration directory
Automating the policy configurations...
*** Log File = /u01/prod/fs1/inst/apps/prod_ebsapp01/logs/appl/rgf/TXK/txkSetOAMReg_Wed_Nov_23_15_23_46_2016.xml
Failed while doing policy configurations
• In the log file this will be the only actual information.
<class>oracle.apps.fnd.txk.oam.UserIdentityStoreConf</class>
<message>Test connection to identity server is failed. Please verify the settings and try
again.</message>
<class>oracle.apps.fnd.txk.oam.RegisterOAM</class>
<message>Failed while updating the configurations in OAM console</message>
32
© Tieto Corporation
Public
• MOS reference
• OAM Registration With EBS 12.2.4 Fails : ERRORMSG: Failed while
automating policy configurations. (Doc ID 2186398.1)
• States to check hosts / network and validate your LDAP directory
connectivity from OAM, but our connection is fine.
• Only LDAP tracing helped
[25/Nov/2016:13:50:35 +0200] CONNECT conn=1939 from=10.10.10.187:13771 to=10.10.10.160:1389 protocol=LDAP
...
[25/Nov/2016:13:50:35 +0200] UNBIND REQ conn=1939 op=1 msgID=2
...
[25/Nov/2016:13:50:36 +0200] CONNECT conn=1940 from=10.10.10.160:63638 to=10.10.10.160:1389 protocol=LDAP
...
[25/Nov/2016:13:50:36 +0200] SEARCH REQ conn=1940 op=1 msgID=2 base="ou=people,dc=example,dc=com" scope=sub filter="(uid=*)"
attrs="ALL”
[25/Nov/2016:13:50:36 +0200] SEARCH RES conn=1940 op=1 msgID=2 result=0 nentries=0 etime=1
[25/Nov/2016:13:50:36 +0200] SEARCH REQ conn=1940 op=2 msgID=3 base="ou=groups,dc=example,dc=com" scope=sub filter="(cn=*)"
attrs="cn”
[25/Nov/2016:13:50:36 +0200] SEARCH RES conn=1940 op=2 msgID=3 result=0 nentries=0 etime=0
Issue #1:
EBS registration (II)
33
© Tieto Corporation
Public
• User Base DN and Group Base DN should have at least 1 user and 1
group created. Otherwise the OAM registration fails during the User
Identity Store creation
ldapmodify -h localhost -p 1389 -D "cn=directory manager" -j /tmp/oud_pwd --defaultAdd
dn: cn=testuser1,ou=people,dc=example,dc=com
objectClass: person
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: top
givenName: John
sn: Tester
cn: testuser1
uid: testuser1
userpassword: welcome1
mail: test@test.com
dn: cn=admins,ou=groups,dc=example,dc=com
cn: testgroup
objectClass: groupOfNames
objectClass: top
Issue #1:
Fix
34
© Tieto Corporation
Public
Issue #2:
Config in User Identity Store
• Not an issue, actually. More a recommendation
• User Filter Object Classes: person
• Group Name Attribute: cn
• Group Filter Classes: groupofnames
• Inactivity Timeout (in seconds): 60
35
© Tieto Corporation
PublicPublic
Unified Directory
Features
© Tieto Corporation
Public
Usage of SSL in DIP for LDAPS (I)
• OID 11.1.1.9 + DIP standard configuration handles the SSL configuration
out-of-the-box. You can access OID in SSL by just changing the port field
in Enterprise Manager.
• Hardened procedure in OUD requires extra DIP configuration
• Obtain certificate
$ openssl s_client -connect myoud.domain.com:1636 -verify 5
verify depth is 5
...
Server certificate
-----BEGIN CERTIFICATE-----
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-----END CERTIFICATE-----
37
© Tieto Corporation
Public
Usage of SSL in DIP for LDAPS (II)
• Create the keystore and configure it
$ keytool -importcert -trustcacerts -alias OUD -file /tmp/saved_base64_ssl_certificate.txt -keystore
$ORACLE_INSTANCE/config/DIP_JKS/dip.jks
$ wlst.sh
> connect('weblogic', 'password','t3://localhost:7001')
> createCred(map="dip", key="jksKey", user="jksuser", password="changeit")
> exit()
$ $ORACLE_HOME/bin/manageDIPServerConfig set -h localhost -p 7005 -D weblogic -attribute keystorelocation
-val /u01/app/oracle/product/fmw11g/dip_inst1/config/DIP_JKS/dip.jks
$ $ORACLE_HOME/bin/manageDIPServerConfig set -attribute sslmode -val 2 -h localhost -p 7005 -D weblogic
$ $ORACLE_HOME/bin/manageDIPServerConfig set -attribute backendhostport -val localhost:1636 -h localhost
-p 7005 -D weblogic
• For any external directory integration similar SSL trust certificate
has to be imported into the DIP configured keystore
38
© Tieto Corporation
Public
Usage of SSL in OUD for external
LDAPS connections
• Same case
• Add external SSL trust certificates to OUD keystore
$ keytool -importcert -trustcacerts -alias MY_EXTERNAL_LDAPS -file
/tmp/saved_base64_ssl_certificate.txt -keystore $ORACLE_INSTANCE/OUD/config/keystore
39
© Tieto Corporation
Public
External password plugins in OUD
• Use case: Active Directory – passwords are not directly synced by DIP
• OID has a cool feature – external password plugin
• Java based module which forwards the BIND requests to external
LDAP directories for authentication
• OUD does not have these kind of modules, however
• OUD 11.1.2.2+
• Pass Through Authentication (OUD PTA)
• OUD 11.1.2.3+
• On-Demand Password
• Password Translate
• OUD / DIP Synchronization with Active Directory (Doc ID 1534241.1)
40
© Tieto Corporation
Public
External password plugins in OUD
PTA (I)
• How it works:
• You have your Local Naming Context dc=example,dc=com
with synced user entries by DIP (no userpassword /
orclpassword attributes).
• You configure a new Proxy Workflow and mount external LDAP
Base DN.
• A Workflow Element will merge both sources and use local
context as user provider and external proxy context as
authentication provider.
41
© Tieto Corporation
Public
External password plugins in OUD
PTA (II)
• Configure OUD LDAP extension
$ dsconfig -h localhost -p 4461 -D "cn=directory manager" -j /tmp/oud_pwd -X -n create-
extension 
--type ldap-server 
--extension-name proxy_extension_pta_ext_ldap 
--set remote-ldap-server-read-only:true 
--set remote-ldap-server-address:myad.example.com 
--set remote-ldap-server-port:389 
--set remote-ldap-server-ssl-port:636 
--set remote-ldap-server-ssl-policy:always 
--set ssl-trust-all:true 
--set ssl-trust-manager-provider:JKS 
--set enabled:true
42
© Tieto Corporation
Public
External password plugins in OUD
PTA (III)
• Configure OUD Proxy Workflow elements
$ dsconfig -h localhost -p 4461 -D "cn=directory manager" -j /tmp/oud_pwd -X -n create-workflow-element 
--set client-cred-mode:use-specific-identity 
--set enabled:true 
--set ldap-server-extension:proxy_extension_pta_ext_ldap 
--set remote-ldap-server-bind-dn:cn=system_user,ou=ad_system_accounts,dc=example,dc=com 
--set remote-ldap-server-bind-password:password 
--set remote-root-dn:cn=system_user,ou=system_accounts,dc=ad,dc=example,dc=com 
--set remote-root-password:password 
--type proxy-ldap 
--element-name wf_element_auth_pta_ext_ldap
$ dsconfig -h localhost -p 4461 -D "cn=directory manager" -j /tmp/oud_pwd -X -n create-workflow-element 
--set auth-provider-workflow-element:wf_element_auth_pta_ext_ldap 
--set enabled:true 
--set user-provider-workflow-element:userRoot  # our default naming context created in OUD
--set pta-suffix:ou=people,dc=example,dc=com 
--set pta-auth-suffix:ou=people,dc=example,dc=com 
--set pta-user-suffix:ou=people,dc=example,dc=com 
--type pass-through-authentication 
--element-name wf_element_pta_ext_ldap
43
© Tieto Corporation
Public
External password plugins in OUD
PTA (IV)
• Configure OUD Proxy Workflow
$ dsconfig -h localhost -p 4461 -D "cn=directory manager" -j /tmp/oud_pwd -X -n create-workflow 
--workflow-name pta_ext_ldap_wf 
--set base-dn:ou=people,dc=example,dc=com 
--set enabled:true 
--set workflow-element:wf_element_pta_ext_ldap
• Enable the new configuration
$ dsconfig -h localhost -p 4461 -D "cn=directory manager" -j /tmp/oud_pwd -X -n set-network-group-prop 
--group-name network-group 
--set enabled:true 
--add workflow:pta_google_openldap_wf
44
© Tieto Corporation
Public
External password plugins in OUD
PTA (V)
• Configure OUD Proxy Workflow
$ ldapsearch -h localhost -p 1389 -D "cn=user1,ou=people,dc=example,dc=com" -b
"cn=user1,ou=people,dc=example,dc=com" -s base "(objectclass=*)" "orclSourceObjectDN”
Password for user 'cn=user1,ou=people,dc=example,dc=com':
dn: cn=user1,ou=people,dc=example,dc=com
orclSourceObjectDN: cn=user1,ou=People,dc=example,dc=com
• It works
45
© Tieto Corporation
Public
On-Demand Password (I)
46
• Configure DIP plugin
$ORACLE_HOME/bin/dipConfigurator setupPlugin -wlshost localhost -wlsport 7001 -wlsuser weblogic -ldaphost
myad.example.com -ldapport 636 -ldapuser "cn=Directory Manager" -isldapssl true
• Create an attribute mapping rule using the Oracle Enterprise
Manager Fusion Middleware Control (or cli)
© Tieto Corporation
Public
On-Demand Password (II)
47
© Tieto Corporation
Public
48
On-Demand Password (III)
© Tieto Corporation
Public
On-Demand Password (IV)
• There used to be a mistake in documentation
• https://docs.oracle.com/middleware/11119/dip/administer/odip_sync_p
rof_confg.htm#OIMIG3331
49
© Tieto Corporation
Public
Password Translate (I)
• Configure DIP plugin
• $ORACLE_HOME/bin/dipConfigurator setupPlugin -wlshost localhost -wlsport 7001 -wlsuser weblogic -
ldaphost oudhost -ldapport 389 -ldapuser "cn=Directory Manager" -isldapssl false -ldapadminport
4444
• Do not run if already run during On-Demand setup
• Enable PasswordTranslation
• $ORACLE_HOME/bin/dipConfigurator setupPasswordTranslation -wlshost localhost -wlsport 7001 -wlsuser
weblogic -ldaphost oudhost -ldapport 389 -ldapuser "cn=Directory Manager" -isldapssl false -
ldapadminport 4444
50
© Tieto Corporation
Public
Password Translate (II)
• Configure mapping attributes (same workflow as for On-
Demand option)
51
© Tieto Corporation
Public
Password Translate (III)
• Didn’t succeed out-of the box
• Unrecognized token in attribute mapping rule
"orclODIPTranslatePassword"
52
© Tieto Corporation
Public
Password Translate (IV)
• Password Sync / Translate Using DIP 11gR2PS7
(11.1.1.9.0) shows "Unrecognized token in attribute mapping
rule "xxxxx"" (Doc ID 2013518.1)
• Password Sync / Translate Using DIP 11gR2PS7
(11.1.1.9.0) shows "Unrecognized token in attribute mapping
rule "xxxxx"" (Doc ID 2013518.1)
• None of them really worked
• Maybe another documentation bug, need to verify
53
© Tieto Corporation
Public
OUD Access Log
• OUD has access log tracing similar to Apache.
• It tracks everything and YOU SHOULD LOVE IT!
• $ORACLE_INSTANCE/OUD/logs/access
[25/Nov/2016:13:50:35 +0200] CONNECT conn=1939 from=10.10.10.187:13771 to=10.10.10.160:1389 protocol=LDAP
[25/Nov/2016:13:50:35 +0200] BIND REQ conn=1939 op=0 msgID=1 type=SIMPLE dn="cn=directory manager" version=3
[25/Nov/2016:13:50:35 +0200] BIND RES conn=1939 op=0 msgID=1 result=0 authDN="cn=Directory Manager,cn=Root
DNs,cn=config" etime=1
[25/Nov/2016:13:50:35 +0200] UNBIND REQ conn=1939 op=1 msgID=2
[25/Nov/2016:13:50:35 +0200] DISCONNECT conn=1939 reason="Client Disconnect”
[25/Nov/2016:13:50:36 +0200] CONNECT conn=1940 from=10.10.10.160:63638 to=10.10.10.160:1389 protocol=LDAP
[25/Nov/2016:13:50:36 +0200] BIND REQ conn=1940 op=0 msgID=1 type=SIMPLE dn="cn=directory manager" version=3
[25/Nov/2016:13:50:36 +0200] BIND RES conn=1940 op=0 msgID=1 result=0 authDN="cn=Directory Manager,cn=Root
DNs,cn=config" etime=0
[25/Nov/2016:13:50:36 +0200] SEARCH REQ conn=1940 op=1 msgID=2 base="ou=people,dc=domain,dc=com" scope=sub
filter="(uid=*)" attrs="ALL”
[25/Nov/2016:13:50:36 +0200] SEARCH RES conn=1940 op=1 msgID=2 result=0 nentries=0 etime=1
[25/Nov/2016:13:50:36 +0200] SEARCH REQ conn=1940 op=2 msgID=3 base="ou=groups,dc=domain,dc=com" scope=sub
filter="(cn=*)" attrs="cn”
[25/Nov/2016:13:50:36 +0200] SEARCH RES conn=1940 op=2 msgID=3 result=0 nentries=0 etime=0
54
© Tieto Corporation
Public
Virtual Attributes
• An attribute which is more like a function
• The best example: isMemberOf
• Is true if a user is a member of a defined group
• The most useful place to use: LDAP filters
• Example:
• OAM User Identity Store filter to allow only specific group to access
your EBS
• KEY_LDAP_FILTER:
(&(uid={KEY_USERNAME})(isMemberOf=cn=ebs_sso_allowed_users
,ou=groups,dc=example,dc=com))
55
© Tieto Corporation
Public
• How Java parameters are managed for OUD (like memory)
• $ORACLE_INSTANCE/OUD/config/java.properties
• Contains JDK home, parameters for runtime, parameters for offline
tools, like same ldapsearch
• Once the changes are applied, execute dsjavaproperties, which will
apply all the changes into the executables
• Example
default.java-home=/u01/app/oracle/product/jdk/jre
start-ds.java-args=-Xms256m -Xmx512m -d64 -XX:+UseCompressedOops -server -XX:MaxTenuringThreshold=1 -
XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=55
OUD Java Parameter Management
56
© Tieto Corporation
PublicPublic
Performance
© Tieto Corporation
Public
Overview
• Performance is a feature :)
• Overall the OUD performance is very good
• The more memory you configure – the more you get into the
cache
• Apply 11.1.2.3.161018. Many performance related bugs are
resolved per the change log. “isMemberOf” is the top
mention.
• Some real problems may start only when your data size
exceeds hundreds of thousands, like 400 000 user accounts.
58
© Tieto Corporation
Public
Indexes
• Use case: DIP ApplicationToOID profile is doing Root DN sub-search
looking for entries with required orclGUID, to confirm it exists
• With large directories it can spin the CPU a lot
• Can be indexed
dsconfig -h localhost -p 4461 -D "cn=directory manager" -j /tmp/oud_pwd -X -n create-local-db-index --
element-name userRoot --index-name orclguid --set index-type:equality
rebuild-index -h localhost -p 4461 -D "cn=directory manager" -j /tmp/oud_pwd -X -b "dc=example,dc=com" -i
orclguid
• If DIP bootstrap synchronized a huge amount of user accounts (ex from
external directory) – full index rebuild is highly recommended
rebuild-index -b "dc=example,dc=com" --rebuildAll
59
© Tieto Corporation
Public
Root DN based search
• Same use case: DIP ApplicationToOID
ldapsearch -h localhost -p 1389 -D "cn=directory manager" -j /tmp/oud_pwd -b ""
"(orclguid=XXXXXXXXXXXXXXXXXXXXXX)" "*"
• OUD will also look into cn=changelog as it interprets it as non-hidden
naming context.
• Fix: No fix. This is how OUD works
• Recommendation: evaluate the data size, and put the memory enough
to cache as maximum as possible.
• https://blogs.oracle.com/sduloutr/entry/oud_external_change_log_and
• OUD - Bad Performance of a Subtree Search on the Root DSE if the
External Changelog is Enabled. (Doc ID 1676998.1)
60
© Tieto Corporation
Public
Root DN based search (II)
• If you have external directory using PTA, your search effort
will be doubled, and also will become depended externally.
• Root DN searches are processing every Workflow Element
enabled for the network group.
• Cache !
61
© Tieto Corporation
Public
Data cache tuning
• If your LDAP data is 1 GB in size, you can configure your
OUD instance to 2 GB memory and set data cache to utilize
50 %
$ dsconfig -h localhost -p 4461 -D "cn=directory manager" -w password set-workflow-
element-prop --element-name userRoot --set db-cache-percent:50
62
© Tieto Corporation
PublicPublic
Summary
© Tieto Corporation
Public
OUD Implementation Considerations
• OUD is an interesting lightweight product
• Hard to say if it’s better or worse than OID. Both OUD and OID
have their own pros and cons
• OUD – is a replacement product. OID is going away soon (Dec
2018 / Dec 2021).
• Comparing to 11gR1, where OUD was not usable at all for Oracle
stack integrations, it is now more less ready. Of course, with some
nuances mentioned.
• Simplified setup and configuration
• It takes time to tune everything. Let us be patient
64
© Tieto Corporation
PublicPublic

Contenu connexe

Tendances

Django, 저는 이렇게 씁니다.
Django, 저는 이렇게 씁니다.Django, 저는 이렇게 씁니다.
Django, 저는 이렇게 씁니다.Kyoung Up Jung
 
Large Table Partitioning with PostgreSQL and Django
 Large Table Partitioning with PostgreSQL and Django Large Table Partitioning with PostgreSQL and Django
Large Table Partitioning with PostgreSQL and DjangoEDB
 
DBD::SQLite
DBD::SQLiteDBD::SQLite
DBD::SQLitecharsbar
 
Container security
Container securityContainer security
Container securityAnthony Chow
 
MySQL 8.0.16 New Features Summary
MySQL 8.0.16 New Features SummaryMySQL 8.0.16 New Features Summary
MySQL 8.0.16 New Features SummaryOlivier DASINI
 
Combine Spring Data Neo4j and Spring Boot to quickl
Combine Spring Data Neo4j and Spring Boot to quicklCombine Spring Data Neo4j and Spring Boot to quickl
Combine Spring Data Neo4j and Spring Boot to quicklNeo4j
 
Oracle Key Vault Overview
Oracle Key Vault OverviewOracle Key Vault Overview
Oracle Key Vault OverviewTroy Kitch
 
Bare Metal Cluster with Kubernetes, Istio and Metallb | Nguyen Phuong An, Ngu...
Bare Metal Cluster with Kubernetes, Istio and Metallb | Nguyen Phuong An, Ngu...Bare Metal Cluster with Kubernetes, Istio and Metallb | Nguyen Phuong An, Ngu...
Bare Metal Cluster with Kubernetes, Istio and Metallb | Nguyen Phuong An, Ngu...Vietnam Open Infrastructure User Group
 
Oracle Security Presentation
Oracle Security PresentationOracle Security Presentation
Oracle Security PresentationFrancisco Alvarez
 
Concurrent Processing Performance Analysis for Apps DBAs
Concurrent Processing Performance Analysis for Apps DBAsConcurrent Processing Performance Analysis for Apps DBAs
Concurrent Processing Performance Analysis for Apps DBAsMaris Elsins
 
Automating Your Clone in E-Business Suite R12.2
Automating Your Clone in E-Business Suite R12.2Automating Your Clone in E-Business Suite R12.2
Automating Your Clone in E-Business Suite R12.2Michael Brown
 
What’s New in Oracle Database 19c - Part 1
What’s New in Oracle Database 19c - Part 1What’s New in Oracle Database 19c - Part 1
What’s New in Oracle Database 19c - Part 1Satishbabu Gunukula
 
Say Bye to VMware PowerCLI ! Time to "GOVC"
Say Bye to VMware PowerCLI ! Time to "GOVC"Say Bye to VMware PowerCLI ! Time to "GOVC"
Say Bye to VMware PowerCLI ! Time to "GOVC"Ajeet Singh Raina
 
Auditing and Monitoring PostgreSQL/EPAS
Auditing and Monitoring PostgreSQL/EPASAuditing and Monitoring PostgreSQL/EPAS
Auditing and Monitoring PostgreSQL/EPASEDB
 
Azure active directory
Azure active directoryAzure active directory
Azure active directoryRaju Kumar
 
Microsoft Azure Networking Basics
Microsoft Azure Networking BasicsMicrosoft Azure Networking Basics
Microsoft Azure Networking BasicsSai Kishore Naidu
 
Multi-cloud Kubernetes BCDR with Velero
Multi-cloud Kubernetes BCDR with VeleroMulti-cloud Kubernetes BCDR with Velero
Multi-cloud Kubernetes BCDR with VeleroKublr
 

Tendances (20)

Django, 저는 이렇게 씁니다.
Django, 저는 이렇게 씁니다.Django, 저는 이렇게 씁니다.
Django, 저는 이렇게 씁니다.
 
Large Table Partitioning with PostgreSQL and Django
 Large Table Partitioning with PostgreSQL and Django Large Table Partitioning with PostgreSQL and Django
Large Table Partitioning with PostgreSQL and Django
 
DBD::SQLite
DBD::SQLiteDBD::SQLite
DBD::SQLite
 
Container security
Container securityContainer security
Container security
 
MySQL 8.0.16 New Features Summary
MySQL 8.0.16 New Features SummaryMySQL 8.0.16 New Features Summary
MySQL 8.0.16 New Features Summary
 
Combine Spring Data Neo4j and Spring Boot to quickl
Combine Spring Data Neo4j and Spring Boot to quicklCombine Spring Data Neo4j and Spring Boot to quickl
Combine Spring Data Neo4j and Spring Boot to quickl
 
Oracle Key Vault Overview
Oracle Key Vault OverviewOracle Key Vault Overview
Oracle Key Vault Overview
 
[온라인교육시리즈] NKS에서 Cluster & Pods Autoscaling 적용
[온라인교육시리즈] NKS에서 Cluster & Pods Autoscaling 적용[온라인교육시리즈] NKS에서 Cluster & Pods Autoscaling 적용
[온라인교육시리즈] NKS에서 Cluster & Pods Autoscaling 적용
 
Oracle Tablespace介紹
Oracle Tablespace介紹Oracle Tablespace介紹
Oracle Tablespace介紹
 
Bare Metal Cluster with Kubernetes, Istio and Metallb | Nguyen Phuong An, Ngu...
Bare Metal Cluster with Kubernetes, Istio and Metallb | Nguyen Phuong An, Ngu...Bare Metal Cluster with Kubernetes, Istio and Metallb | Nguyen Phuong An, Ngu...
Bare Metal Cluster with Kubernetes, Istio and Metallb | Nguyen Phuong An, Ngu...
 
Oracle Security Presentation
Oracle Security PresentationOracle Security Presentation
Oracle Security Presentation
 
Concurrent Processing Performance Analysis for Apps DBAs
Concurrent Processing Performance Analysis for Apps DBAsConcurrent Processing Performance Analysis for Apps DBAs
Concurrent Processing Performance Analysis for Apps DBAs
 
Automating Your Clone in E-Business Suite R12.2
Automating Your Clone in E-Business Suite R12.2Automating Your Clone in E-Business Suite R12.2
Automating Your Clone in E-Business Suite R12.2
 
What’s New in Oracle Database 19c - Part 1
What’s New in Oracle Database 19c - Part 1What’s New in Oracle Database 19c - Part 1
What’s New in Oracle Database 19c - Part 1
 
Docker Networking
Docker NetworkingDocker Networking
Docker Networking
 
Say Bye to VMware PowerCLI ! Time to "GOVC"
Say Bye to VMware PowerCLI ! Time to "GOVC"Say Bye to VMware PowerCLI ! Time to "GOVC"
Say Bye to VMware PowerCLI ! Time to "GOVC"
 
Auditing and Monitoring PostgreSQL/EPAS
Auditing and Monitoring PostgreSQL/EPASAuditing and Monitoring PostgreSQL/EPAS
Auditing and Monitoring PostgreSQL/EPAS
 
Azure active directory
Azure active directoryAzure active directory
Azure active directory
 
Microsoft Azure Networking Basics
Microsoft Azure Networking BasicsMicrosoft Azure Networking Basics
Microsoft Azure Networking Basics
 
Multi-cloud Kubernetes BCDR with Velero
Multi-cloud Kubernetes BCDR with VeleroMulti-cloud Kubernetes BCDR with Velero
Multi-cloud Kubernetes BCDR with Velero
 

En vedette

Oracle E-Business Suite R12.2.5 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.5 on Database 12c: Install, Patch and AdministerOracle E-Business Suite R12.2.5 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.5 on Database 12c: Install, Patch and AdministerAndrejs Karpovs
 
Virtual Directory
Virtual DirectoryVirtual Directory
Virtual Directorypankaj009
 
DataGuard_architecture
DataGuard_architectureDataGuard_architecture
DataGuard_architectureMoeen_uddin
 
Implementing Oracle Identity Management Using External Authentication Plug-In
Implementing Oracle Identity Management Using External Authentication Plug-InImplementing Oracle Identity Management Using External Authentication Plug-In
Implementing Oracle Identity Management Using External Authentication Plug-InDinesh Gupta
 
Oracle 12.2 sharding learning more
Oracle 12.2 sharding learning moreOracle 12.2 sharding learning more
Oracle 12.2 sharding learning moreLeyi (Kamus) Zhang
 

En vedette (6)

Oracle E-Business Suite R12.2.5 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.5 on Database 12c: Install, Patch and AdministerOracle E-Business Suite R12.2.5 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.5 on Database 12c: Install, Patch and Administer
 
Oam install & config
Oam install & configOam install & config
Oam install & config
 
Virtual Directory
Virtual DirectoryVirtual Directory
Virtual Directory
 
DataGuard_architecture
DataGuard_architectureDataGuard_architecture
DataGuard_architecture
 
Implementing Oracle Identity Management Using External Authentication Plug-In
Implementing Oracle Identity Management Using External Authentication Plug-InImplementing Oracle Identity Management Using External Authentication Plug-In
Implementing Oracle Identity Management Using External Authentication Plug-In
 
Oracle 12.2 sharding learning more
Oracle 12.2 sharding learning moreOracle 12.2 sharding learning more
Oracle 12.2 sharding learning more
 

Similaire à Lessons Learnt from Oracle Unified Directory implementation with Oracle E-Business Suite R12.2.5

Oracle Unified Directory. Lessons learnt. Is it ready for a move from OID? (O...
Oracle Unified Directory. Lessons learnt. Is it ready for a move from OID? (O...Oracle Unified Directory. Lessons learnt. Is it ready for a move from OID? (O...
Oracle Unified Directory. Lessons learnt. Is it ready for a move from OID? (O...Andrejs Prokopjevs
 
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and AdministerOracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and AdministerAndrejs Karpovs
 
Dinesh Gupta Discoverer
Dinesh Gupta DiscovererDinesh Gupta Discoverer
Dinesh Gupta DiscovererDinesh Gupta
 
Running E-Business Suite Database on Oracle Database Appliance
Running E-Business Suite Database on Oracle Database ApplianceRunning E-Business Suite Database on Oracle Database Appliance
Running E-Business Suite Database on Oracle Database ApplianceMaris Elsins
 
E business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administratorsE business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administratorsSrinivasa Pavan Marti
 
E business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administratorsE business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administratorsSrinivasa Pavan Marti
 
GLOC 2014 NEOOUG - R12 Upgrade Downtime Reduction
GLOC 2014 NEOOUG - R12 Upgrade Downtime ReductionGLOC 2014 NEOOUG - R12 Upgrade Downtime Reduction
GLOC 2014 NEOOUG - R12 Upgrade Downtime ReductionBiju Thomas
 
Collaborate 2014 OAUG - EBS 11i Upgrade to R12 - Compare versions 12.2 vs 12.1
Collaborate 2014 OAUG - EBS 11i Upgrade to R12 - Compare versions 12.2 vs 12.1Collaborate 2014 OAUG - EBS 11i Upgrade to R12 - Compare versions 12.2 vs 12.1
Collaborate 2014 OAUG - EBS 11i Upgrade to R12 - Compare versions 12.2 vs 12.1Biju Thomas
 
Oracle Enterprise Manager 12c - OEM12c Presentation
Oracle Enterprise Manager 12c - OEM12c PresentationOracle Enterprise Manager 12c - OEM12c Presentation
Oracle Enterprise Manager 12c - OEM12c PresentationFrancisco Alvarez
 
OOW16 - Deploying Oracle E-Business Suite for On-Premises Cloud and Oracle Cl...
OOW16 - Deploying Oracle E-Business Suite for On-Premises Cloud and Oracle Cl...OOW16 - Deploying Oracle E-Business Suite for On-Premises Cloud and Oracle Cl...
OOW16 - Deploying Oracle E-Business Suite for On-Premises Cloud and Oracle Cl...vasuballa
 
Exachk and oem12c - IOUG C15LV
Exachk and oem12c - IOUG C15LVExachk and oem12c - IOUG C15LV
Exachk and oem12c - IOUG C15LVBobby Curtis
 
Create your oracle_apps_r12_lab_with_less_than_us1000
Create your oracle_apps_r12_lab_with_less_than_us1000Create your oracle_apps_r12_lab_with_less_than_us1000
Create your oracle_apps_r12_lab_with_less_than_us1000Ajith Narayanan
 
What’s New in Oracle E-Business Suite R12.2 for Database Administrators?
What’s New in Oracle E-Business Suite R12.2 for Database Administrators?What’s New in Oracle E-Business Suite R12.2 for Database Administrators?
What’s New in Oracle E-Business Suite R12.2 for Database Administrators?vasuballa
 
Preparing forr12-140703020001-phpapp02
Preparing forr12-140703020001-phpapp02Preparing forr12-140703020001-phpapp02
Preparing forr12-140703020001-phpapp02shubham gupta
 
Preparing for EBS R12.2-upgrade-full
Preparing for EBS R12.2-upgrade-fullPreparing for EBS R12.2-upgrade-full
Preparing for EBS R12.2-upgrade-fullBerry Clemens
 
Fusion Applications Administration Overview
Fusion Applications Administration OverviewFusion Applications Administration Overview
Fusion Applications Administration OverviewVihangAstik
 
Monitor Engineered Systems from a Single Pane of Glass: Oracle Enterprise Man...
Monitor Engineered Systems from a Single Pane of Glass: Oracle Enterprise Man...Monitor Engineered Systems from a Single Pane of Glass: Oracle Enterprise Man...
Monitor Engineered Systems from a Single Pane of Glass: Oracle Enterprise Man...Alfredo Krieg
 
ORACLE APPS DBA ONLINE TRAINING
ORACLE APPS DBA ONLINE TRAININGORACLE APPS DBA ONLINE TRAINING
ORACLE APPS DBA ONLINE TRAININGTRAINING ICON
 

Similaire à Lessons Learnt from Oracle Unified Directory implementation with Oracle E-Business Suite R12.2.5 (20)

Oracle Unified Directory. Lessons learnt. Is it ready for a move from OID? (O...
Oracle Unified Directory. Lessons learnt. Is it ready for a move from OID? (O...Oracle Unified Directory. Lessons learnt. Is it ready for a move from OID? (O...
Oracle Unified Directory. Lessons learnt. Is it ready for a move from OID? (O...
 
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and AdministerOracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and Administer
 
Dinesh Gupta Discoverer
Dinesh Gupta DiscovererDinesh Gupta Discoverer
Dinesh Gupta Discoverer
 
Running E-Business Suite Database on Oracle Database Appliance
Running E-Business Suite Database on Oracle Database ApplianceRunning E-Business Suite Database on Oracle Database Appliance
Running E-Business Suite Database on Oracle Database Appliance
 
E business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administratorsE business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administrators
 
E business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administratorsE business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administrators
 
GLOC 2014 NEOOUG - R12 Upgrade Downtime Reduction
GLOC 2014 NEOOUG - R12 Upgrade Downtime ReductionGLOC 2014 NEOOUG - R12 Upgrade Downtime Reduction
GLOC 2014 NEOOUG - R12 Upgrade Downtime Reduction
 
Collaborate 2014 OAUG - EBS 11i Upgrade to R12 - Compare versions 12.2 vs 12.1
Collaborate 2014 OAUG - EBS 11i Upgrade to R12 - Compare versions 12.2 vs 12.1Collaborate 2014 OAUG - EBS 11i Upgrade to R12 - Compare versions 12.2 vs 12.1
Collaborate 2014 OAUG - EBS 11i Upgrade to R12 - Compare versions 12.2 vs 12.1
 
Oracle Enterprise Manager 12c - OEM12c Presentation
Oracle Enterprise Manager 12c - OEM12c PresentationOracle Enterprise Manager 12c - OEM12c Presentation
Oracle Enterprise Manager 12c - OEM12c Presentation
 
Bi apps 11117
Bi apps 11117Bi apps 11117
Bi apps 11117
 
OOW16 - Deploying Oracle E-Business Suite for On-Premises Cloud and Oracle Cl...
OOW16 - Deploying Oracle E-Business Suite for On-Premises Cloud and Oracle Cl...OOW16 - Deploying Oracle E-Business Suite for On-Premises Cloud and Oracle Cl...
OOW16 - Deploying Oracle E-Business Suite for On-Premises Cloud and Oracle Cl...
 
Exachk and oem12c - IOUG C15LV
Exachk and oem12c - IOUG C15LVExachk and oem12c - IOUG C15LV
Exachk and oem12c - IOUG C15LV
 
Create your oracle_apps_r12_lab_with_less_than_us1000
Create your oracle_apps_r12_lab_with_less_than_us1000Create your oracle_apps_r12_lab_with_less_than_us1000
Create your oracle_apps_r12_lab_with_less_than_us1000
 
What’s New in Oracle E-Business Suite R12.2 for Database Administrators?
What’s New in Oracle E-Business Suite R12.2 for Database Administrators?What’s New in Oracle E-Business Suite R12.2 for Database Administrators?
What’s New in Oracle E-Business Suite R12.2 for Database Administrators?
 
Preparing forr12-140703020001-phpapp02
Preparing forr12-140703020001-phpapp02Preparing forr12-140703020001-phpapp02
Preparing forr12-140703020001-phpapp02
 
Preparing for EBS R12.2-upgrade-full
Preparing for EBS R12.2-upgrade-fullPreparing for EBS R12.2-upgrade-full
Preparing for EBS R12.2-upgrade-full
 
Fusion Applications Administration Overview
Fusion Applications Administration OverviewFusion Applications Administration Overview
Fusion Applications Administration Overview
 
Monitor Engineered Systems from a Single Pane of Glass: Oracle Enterprise Man...
Monitor Engineered Systems from a Single Pane of Glass: Oracle Enterprise Man...Monitor Engineered Systems from a Single Pane of Glass: Oracle Enterprise Man...
Monitor Engineered Systems from a Single Pane of Glass: Oracle Enterprise Man...
 
PHP Oracle
PHP OraclePHP Oracle
PHP Oracle
 
ORACLE APPS DBA ONLINE TRAINING
ORACLE APPS DBA ONLINE TRAININGORACLE APPS DBA ONLINE TRAINING
ORACLE APPS DBA ONLINE TRAINING
 

Plus de Andrejs Karpovs

E-Business Suite Rapid Provisioning Using Latest Features Of Oracle Database 12c
E-Business Suite Rapid Provisioning Using Latest Features Of Oracle Database 12cE-Business Suite Rapid Provisioning Using Latest Features Of Oracle Database 12c
E-Business Suite Rapid Provisioning Using Latest Features Of Oracle Database 12cAndrejs Karpovs
 
Reducing Your E-Business Suite Storage Footprint Using Oracle Advanced Compre...
Reducing Your E-Business Suite Storage Footprint Using Oracle Advanced Compre...Reducing Your E-Business Suite Storage Footprint Using Oracle Advanced Compre...
Reducing Your E-Business Suite Storage Footprint Using Oracle Advanced Compre...Andrejs Karpovs
 
Fusion Applications Bare Metal Provisioning - Lessons Learned
Fusion Applications Bare Metal Provisioning - Lessons LearnedFusion Applications Bare Metal Provisioning - Lessons Learned
Fusion Applications Bare Metal Provisioning - Lessons LearnedAndrejs Karpovs
 
Oracle cloud storage and file system
Oracle cloud storage and file systemOracle cloud storage and file system
Oracle cloud storage and file systemAndrejs Karpovs
 
Using ACFS as a Storage for EBS
Using ACFS as a Storage for EBSUsing ACFS as a Storage for EBS
Using ACFS as a Storage for EBSAndrejs Karpovs
 
Optimizing E-Business Suite Storage Using Oracle Advanced Compression
Optimizing E-Business Suite Storage Using Oracle Advanced CompressionOptimizing E-Business Suite Storage Using Oracle Advanced Compression
Optimizing E-Business Suite Storage Using Oracle Advanced CompressionAndrejs Karpovs
 

Plus de Andrejs Karpovs (7)

E-Business Suite Rapid Provisioning Using Latest Features Of Oracle Database 12c
E-Business Suite Rapid Provisioning Using Latest Features Of Oracle Database 12cE-Business Suite Rapid Provisioning Using Latest Features Of Oracle Database 12c
E-Business Suite Rapid Provisioning Using Latest Features Of Oracle Database 12c
 
Reducing Your E-Business Suite Storage Footprint Using Oracle Advanced Compre...
Reducing Your E-Business Suite Storage Footprint Using Oracle Advanced Compre...Reducing Your E-Business Suite Storage Footprint Using Oracle Advanced Compre...
Reducing Your E-Business Suite Storage Footprint Using Oracle Advanced Compre...
 
Fusion Applications Bare Metal Provisioning - Lessons Learned
Fusion Applications Bare Metal Provisioning - Lessons LearnedFusion Applications Bare Metal Provisioning - Lessons Learned
Fusion Applications Bare Metal Provisioning - Lessons Learned
 
EBS on ACFS white paper
EBS on ACFS white paperEBS on ACFS white paper
EBS on ACFS white paper
 
Oracle cloud storage and file system
Oracle cloud storage and file systemOracle cloud storage and file system
Oracle cloud storage and file system
 
Using ACFS as a Storage for EBS
Using ACFS as a Storage for EBSUsing ACFS as a Storage for EBS
Using ACFS as a Storage for EBS
 
Optimizing E-Business Suite Storage Using Oracle Advanced Compression
Optimizing E-Business Suite Storage Using Oracle Advanced CompressionOptimizing E-Business Suite Storage Using Oracle Advanced Compression
Optimizing E-Business Suite Storage Using Oracle Advanced Compression
 

Dernier

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 

Dernier (20)

E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 

Lessons Learnt from Oracle Unified Directory implementation with Oracle E-Business Suite R12.2.5

  • 1. © Tieto Corporation PublicPublic Lessons Learnt from Oracle Unified Directory implementation with Oracle E-Business Suite R12.2.5 Andrejs Karpovs Andrejs Prokopjevs
  • 2. © Tieto Corporation Public About slide - Andrejs K. • Lead Oracle Apps DBA / Architect • In Oracle DB/Middleware/EBS since 2008 • Works at Tieto • Oracle Certified Master 11g • Oracle ACE • Speaker at worldwide conferences • UKOUG since 2011, • COLLABORATE since 2014, • OUGH, UKOUG_IRE • Social media • Twitter: @AndrejsKarpovs • Blog: adbaday.wordpress.com 2
  • 3. © Tieto Corporation Public About slide - Andrejs P. 3 Apps DBA from Riga, Latvia. Speaking SQL since 2001. In Oracle world since 2004. “In love” with Oracle EBS since 2006. Andrejs Prokopjevs Lead Applications Database Consultant At Pythian since 2011 @aprokopjevs prokopjevs@pythian.com https://www.pythian.com/blog/author/prokopjevs/
  • 5. © Tieto Corporation Public Clearing out the alphabet soup :) https://docs.oracle.com/middleware/11119/core/INOIM/under_in stall.htm#INOIM1024 5 OHS
  • 6. © Tieto Corporation Public Integration Architecture w/ E- Business Suite 11i/R12.1 6 Oracle Virtual Directory
  • 7. © Tieto Corporation Public Integration Architecture w/ E- Business Suite R12.2 7 Oracle Unified Directory or OID
  • 8. © Tieto Corporation Public Oracle Unified Directory: Brief description • ldap v3 - Sun iPlanet Directory • Unified Directory Services Solution • Storage • Directory Server • Proxy • Virtualization • Virtual directory view of the different repositories • Routes data to and from the repositories • Replication • Load Balancing • OUD, OVD and DIP are part of ODS Plus • Developed entirely in Java • Embarks Java DB (OBDB JE), no need for extra Oracle DB 8
  • 9. © Tieto Corporation Public Oracle Unified Directory: Replication and High Availability 9
  • 10. © Tieto Corporation Public Main differences OUD OID • Clustering concept • Multiple local DBs repl. data within repl. groups • Runtime • Java • Tools • No ldapadd anymore, "ldapmodify --defaultAdd" • Backup • No PITR, full or incremental initiated by “backup” utility • SSL • All Java requirements like JKS keystores 10 • Clustering concept • Multiple instances connects w/ single Oracle DB • Runtime • C • Tools • ldapadd, ldapmodify, ldapdelete and more. • Backup • Leveraging all Oracle Database backup and recovery features • SSL • No special requirements or associated complications
  • 12. © Tieto Corporation Public Required Software Overview • E-Business Suite R12.2.5+ (FMW 11.1.1.9, R12.AD.C.7+, patches 22098300, 21229697, 24008856) • Oracle Directory Integration Platform 11g Release 1 Patch Set 7 (11.1.1.9) for Oracle Fusion Middleware Identity Management • Oracle Unified Directory 11g Release 2 Patch Set 3 (11.1.2.3) • Oracle Directory Services Manager (ODSM) 11.1.2.3 • Weblogic Server 11g (10.3.6) • Oracle ADF 11.1.1.9 • Oracle Access Manager 11.1.2.3 • Weblogic Server 11g (10.3.6) • Repository Creation Utility 11.1.1.9 12
  • 13. © Tieto Corporation Public Installation and Configuration Architecture 1 3
  • 14. © Tieto Corporation Public Documentation Best Sources • Integrating Oracle E-Business Suite Release 12.2 with Oracle Unified Directory 11gR2 (Doc ID 2003483.1) • Integrating Oracle E-Business Suite Release 12.2 with Oracle Access Manager 11gR2 (11.1.2) using Oracle E-Business Suite AccessGate (Doc ID 1576425.1) • Oracle® Fusion Middleware Installation Guide for Oracle Identity Management • https://docs.oracle.com/middleware/11119/core/INOIM/under_install.ht m#INOIM1024 14
  • 15. © Tieto Corporation Public OUD Integration Steps: Configure OUD $ echo "welcome1" > /tmp/oud_pwd $ ./oud-setup --cli --hostName myoud.domain.com --ldapPort 1389 --ldapsPort 1636 --adminConnectorPort 4461 --rootUserDN "cn=directory manager" --rootUserPasswordFile /tmp/oud_pwd --generateSelfSignedCertificate --enableStartTLS --baseDN dc=example,dc=com --integration generic --serverTuning 512m --offlineToolsTuning 512m --no-prompt • “generic” integration option allows you to complete the integration for EBS by creating the necessary naming context. 15
  • 16. © Tieto Corporation Public OUD Integration Steps: Configure Naming Context • Very important as this will bring issues at later stages if not executed • https://docs.oracle.com/cd/E52734_01/oud/OUDAG/eus.htm#BAB GJFEE • Locate the LDIF template file at OUD_instance_dir/config/EUS/modifyRealm.ldif • Edit and replace as per your configuration: • dc=example,dc=com $ ldapmodify -h localhost -p 1389 -D "cn=directory manager" -j pwd-file -f modifyRealm.ldif 16
  • 17. © Tieto Corporation Public • Enable the External Change Log $ dsreplication enable-changelog -h localhost -p 4461 -D "cn=directory manager" -j /tmp/oud_pwd -r 8989 - b dc=example,dc=com --trustAll --no-prompt $ dsreplication enable-changelog -h localhost -p 4461 -D "cn=directory manager" -j /tmp/oud_pwd -r 8989 - b cn=oraclecontext --trustAll --no-prompt • Enforce Unique UID Attribute $ dsconfig -p 4461 -h localhost -D "cn=directory manager" -j /tmp/oud_pwd -n --trustAll set-plugin-prop - -plugin-name "UID Unique Attribute" --set enabled:true $ dsconfig -p 4461 -h localhost -D "cn=directory manager" -j /tmp/oud_pwd -n --trustAll set-plugin-prop - -plugin-name "UID Unique Attribute" --set base-dn:ou=people,dc=example,dc=com • Configure DIP for OUD $ $ORACLE_HOME/bin/dipConfigurator setup -wlshost localhost -wlsport 7001 -wlsuser weblogic -ldaphost localhost -ldapport 1389 -ldapuser "cn=directory manager" -isldapssl false -ldapadminport 4461 • Add Access Control Instructions for OUD • See MOS note for instructions OUD Integration Steps: Further configuration 17
  • 18. © Tieto Corporation Public OUD Integration Steps: Registration w/ EBS • Start EBS Online Patching Cycle (adop phase=prepare) • Run all the actions against patch_fs • Registration script • $FND_TOP/bin/txkrun.pl -script=SetSSOReg -registerldap=yes -ldapadminuser="cn=directory manager" • Update EBS Profile Options • Applications SSO Enable OID Identity: Enabled • Applications SSO Type: SSWA /wSSO • Applications SSO Auto Link User: Enabled • Autoconfig • Cutover • Side note: You can do this in hot mode - directly on run • Multi-node: This isn’t required to be executed on all nodes as stated in the documentation. 18
  • 19. © Tieto Corporation Public OAM Integration Steps: Registration w/ EBS • Start EBS Online Patching Cycle (adop phase=prepare) • Run all the actions against patch_fs • Install WebGate • $FND_TOP/bin/txkrun.pl -script=SetOAMReg -installWebgate=yes - webgatestagedir=/path/to/extracted/stage (where Disk1 is extracted) • Recommendation: Apply WebGate patches now • $PATCH_BASE/FMW_Home/Oracle_OAMWebGate1 • Deploy AccessGate • perl $AD_TOP/patch/115/bin/adProvisionEBS.pl ebs-create-oaea_resources - deployApps=accessgate • Register OAM • $FND_TOP/bin/txkrun.pl -script=SetOAMReg -registeroam=yes -ldapProvider=OUD • Autoconfig • Cutover 19
  • 20. © Tieto Corporation Public OAM Integration Steps: Registration w/ EBS (II) • Side note: You can do this in hot mode too - directly on run. • But beware of Bug 19817016 !!! • oaea_server1 (AccessGate) port conflict between run and patch during the fs_clone. • Solution: • Stop oaea_server1. • Run fs_clone. • Restart oaea_server1. • Next fs_clone executions will not have this conflict anymore. 20
  • 21. © Tieto Corporation PublicPublic Issues faced while implementing OUD
  • 22. © Tieto Corporation Public Issue #1: Configure Naming Context • OUD_instance_dir/config/EUS/modifyRealm.ldif • Documentation bug $ ls -l $ORACLE_INSTANCE/config/EUS/modifyRealm.ldif ls: cannot access /u01/app/oracle/product/fmw11g_oud/instances/OUD_instance/config/EUS/modifyRealm.ldif: No such file or directory $ ls -l $ORACLE_HOME/config/EUS/modifyRealm.ldif -rw-r-----. 1 oracle oinstall 1608 Nov 15 2013 /u01/app/oracle/product/fmw11g_oud/Oracle_OUD1/config/EUS/modifyRealm.ldif $ • What does it fix? # cn=Common,cn=Products,cn=OracleContext orclSubscriberSearchBase: dc=com orclSubscriberNickNameAttribute: dc orclDefaultSubscriber: dc=example,dc=com # cn=Common,cn=Products,cn=OracleContext,dc=example,dc=com orclCommonUserSearchBase: ou=people,dc=example,dc=com orclCommonGroupSearchBase: ou=groups,dc=example,dc=com • Side note: Handled automatically in 11.1.2.3.161018 22
  • 23. © Tieto Corporation Public Issue #2: No Subscriber found • Let’s query the naming context we created. $ ldapsearch -h localhost -p 1389 -D "cn=directory manager" -j /tmp/oud_pwd -b "dc=example,dc=com" -s one "(objectclass=*)" "dn” dn: cn=OracleContext,dc=example,dc=com $ • Where is my naming context base entry? $ ldapsearch -h localhost -p 1389 -D "cn=directory manager" -j /tmp/oud_pwd -b "dc=example,dc=com" -s base "(objectclass=*)" "dn” SEARCH operation failed Result Code: 32 (No Such Entry) Additional Information: The entry dc=example,dc=com specified as the search base does not exist in the Directory Server $ 23
  • 24. © Tieto Corporation Public • Let’s query the naming context we created. $ ldapmodify -h localhost -p 1389 -D "cn=directory manager" -j /tmp/oud_pwd –defaultAdd dn: dc=example,dc=com orclversion: 90600 dc: example orclsubscriberfullname: example objectClass: top objectClass: domain objectClass: orclSubscriber aci: (targetattr != "userpassword || authpassword || aci") (version 3.0; acl "Anonymous read access to dc=example, dc=com"; allow (read,search,compare) userdn = "ldap:///anyone";) $ • Optional: Add read-only ACI permission for non-super-user access (except password attributes). Example. Issue #2: Fix 24
  • 25. © Tieto Corporation Public Issue #3: User and Group Base DNs • Let’s query the naming context again. $ ldapsearch -h localhost -p 1389 -D "cn=directory manager" -j /tmp/oud_pwd -b "dc=example,dc=com" -s one "(objectclass=*)" "dn” dn: cn=OracleContext,dc=example,dc=com $ • Where are my user and group base DNs? • Fix: $ ldapmodify -h localhost -p 1389 -D "cn=directory manager" -j /tmp/oud_pwd –defaultAdd dn: ou=people,dc=example,dc=com ou: people objectClass: top objectClass: organizationalUnit dn: ou=groups,dc=example,dc=com ou: groups objectClass: top objectClass: organizationalUnit $ 25
  • 26. © Tieto Corporation Public Issue #4: Write permissions for DIP profiles • Documentation states that we need to apply these ACIs dn: dc=example,dc=com changetype: modify add: aci aci: (target=" ldap:///dc=example,dc=com" )(version 3.0; acl "Entry-level DIP permissions"; allow (all,proxy) groupdn=" ldap:///cn=odisgroup,cn=DIPadmins,cn=Directory Integration platform,cn=Products,cn=oraclecontext"; allow (all,proxy) groupdn=" ldap:///cn=dipadmingrp,cn=DIPadmins,cn=Directory Integration Platform,cn=Products,cn=oraclecontext";) - add: aci aci: (targetattr="*")(version 3.0; acl "Attribute-level DIP permissions"; allow (all,proxy) groupdn=" ldap:///cn=odisgroup,cn=DIPadmins,cn=Directory Integration Platform,cn=Products,cn=oraclecontext"; allow (all,proxy) groupdn=" ldap:///cn=dipadmingrp,cn=DIPadmins,cn=Directory Integration Platform,cn=Products,cn=oraclecontext";) • But DIP runtime still fails on writes • DIP profile DNs are actually running with “odipgroup” App DNs 26
  • 27. © Tieto Corporation Public Issue #4: Fix $ ldapmodify -h localhost -p 1389 -D "cn=directory manager" -j /tmp/oud_pwd dn: dc=example,dc=com changetype: modify add: aci aci: (target="ldap:///dc=example,dc=com" )(version 3.0; acl "Entry-level DIP permissions"; allow (all,proxy) groupdn=" ldap:///cn=odipgroup,cn=DIPadmins,cn=Directory Integration platform,cn=Products,cn=oraclecontext";) - add: aci aci: (targetattr="*")(version 3.0; acl "Attribute-level DIP permissions"; allow (all,proxy) groupdn=" ldap:///cn=odipgroup,cn=DIPadmins,cn=Directory Integration Platform,cn=Products,cn=oraclecontext";) • Still an open issue with OID BUNDLE PATCH 11.1.1.9.160719 27
  • 28. © Tieto Corporation Public Issue #5: OUD restrictions on unindexed search • There are limits when OUD allows non-super-user to do unindexed searches • None of Oracle specific attributes are indexed, like it is in OID • Example: [27/Apr/2016:01:25:45 -0700] SEARCH RES conn=381168 op=514 msgID=515 result=50 message="You do not have sufficient privileges to perform an unindexed search Operation 'SEARCH' failed in participant 'user' for entry 'ou=people,dc=example,dc=com' Operation 'SEARCH' failed in participant 'user' for entry 'ou=people,dc=example,dc=com'" nentries=0 authzDN="orclodipagentname=AD_DIP_PROFILE,cn=subscriber profile,cn=changelog subscriber,cn=directory integration platform,cn=products,cn=OracleContext" etime=0 28
  • 29. © Tieto Corporation Public Issue #5: Fix • Fix: give a permission to your required DIP App DN. ldapmodify -h localhost -p 1389 -D "cn=directory manager" -j /tmp/oud_pwd dn: orclodipagentname=AD_DIP_PROFILE,cn=subscriber profile,cn=changelog subscriber,cn=directory integration platform,cn=products,cn=OracleContext changetype: modify add: ds-privilege-name ds-privilege-name: unindexed-search - add: ds-privilege-name ds-privilege-name: proxied-auth 29
  • 30. © Tieto Corporation Public Issue #6: cn=changelog data timeout • By default, purge delay for replication in OUD is set to 1 day. Set it at least to 1 week $ dsconfig -h localhost -p 4461 -D "cn=directory manager" -w password -n get-replication-server-prop -- provider-name "Multimaster Synchronization" --advanced --property replication-purge-delay Property : Value(s) ------------------------:--------- replication-purge-delay : 1 d $ dsconfig -h localhost -p 4461 -D "cn=directory manager" -w password -n set-replication-server-prop -- provider-name "Multimaster Synchronization" --set replication-purge-delay:1w • Historical replication data retention also can be tuned $ dsconfig -h localhost -p 4461 -D "cn=directory manager" -w password -X -n set-replication-domain-prop --provider-name "Multimaster Synchronization" --domain-name dc=example,dc=com --set conflicts-historical-purge-delay:7200m 30
  • 31. © Tieto Corporation PublicPublic Issues faced while implementing OAM
  • 32. © Tieto Corporation Public Issue #1: EBS registration • txkrun.pl -script=SetOAMReg -registeroam=yes -ldapProvider=OUD Successfully registered the WebGate with OAM Copying registration artifacts to WebGate configuration directory Automating the policy configurations... *** Log File = /u01/prod/fs1/inst/apps/prod_ebsapp01/logs/appl/rgf/TXK/txkSetOAMReg_Wed_Nov_23_15_23_46_2016.xml Failed while doing policy configurations • In the log file this will be the only actual information. <class>oracle.apps.fnd.txk.oam.UserIdentityStoreConf</class> <message>Test connection to identity server is failed. Please verify the settings and try again.</message> <class>oracle.apps.fnd.txk.oam.RegisterOAM</class> <message>Failed while updating the configurations in OAM console</message> 32
  • 33. © Tieto Corporation Public • MOS reference • OAM Registration With EBS 12.2.4 Fails : ERRORMSG: Failed while automating policy configurations. (Doc ID 2186398.1) • States to check hosts / network and validate your LDAP directory connectivity from OAM, but our connection is fine. • Only LDAP tracing helped [25/Nov/2016:13:50:35 +0200] CONNECT conn=1939 from=10.10.10.187:13771 to=10.10.10.160:1389 protocol=LDAP ... [25/Nov/2016:13:50:35 +0200] UNBIND REQ conn=1939 op=1 msgID=2 ... [25/Nov/2016:13:50:36 +0200] CONNECT conn=1940 from=10.10.10.160:63638 to=10.10.10.160:1389 protocol=LDAP ... [25/Nov/2016:13:50:36 +0200] SEARCH REQ conn=1940 op=1 msgID=2 base="ou=people,dc=example,dc=com" scope=sub filter="(uid=*)" attrs="ALL” [25/Nov/2016:13:50:36 +0200] SEARCH RES conn=1940 op=1 msgID=2 result=0 nentries=0 etime=1 [25/Nov/2016:13:50:36 +0200] SEARCH REQ conn=1940 op=2 msgID=3 base="ou=groups,dc=example,dc=com" scope=sub filter="(cn=*)" attrs="cn” [25/Nov/2016:13:50:36 +0200] SEARCH RES conn=1940 op=2 msgID=3 result=0 nentries=0 etime=0 Issue #1: EBS registration (II) 33
  • 34. © Tieto Corporation Public • User Base DN and Group Base DN should have at least 1 user and 1 group created. Otherwise the OAM registration fails during the User Identity Store creation ldapmodify -h localhost -p 1389 -D "cn=directory manager" -j /tmp/oud_pwd --defaultAdd dn: cn=testuser1,ou=people,dc=example,dc=com objectClass: person objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: top givenName: John sn: Tester cn: testuser1 uid: testuser1 userpassword: welcome1 mail: test@test.com dn: cn=admins,ou=groups,dc=example,dc=com cn: testgroup objectClass: groupOfNames objectClass: top Issue #1: Fix 34
  • 35. © Tieto Corporation Public Issue #2: Config in User Identity Store • Not an issue, actually. More a recommendation • User Filter Object Classes: person • Group Name Attribute: cn • Group Filter Classes: groupofnames • Inactivity Timeout (in seconds): 60 35
  • 37. © Tieto Corporation Public Usage of SSL in DIP for LDAPS (I) • OID 11.1.1.9 + DIP standard configuration handles the SSL configuration out-of-the-box. You can access OID in SSL by just changing the port field in Enterprise Manager. • Hardened procedure in OUD requires extra DIP configuration • Obtain certificate $ openssl s_client -connect myoud.domain.com:1636 -verify 5 verify depth is 5 ... Server certificate -----BEGIN CERTIFICATE----- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -----END CERTIFICATE----- 37
  • 38. © Tieto Corporation Public Usage of SSL in DIP for LDAPS (II) • Create the keystore and configure it $ keytool -importcert -trustcacerts -alias OUD -file /tmp/saved_base64_ssl_certificate.txt -keystore $ORACLE_INSTANCE/config/DIP_JKS/dip.jks $ wlst.sh > connect('weblogic', 'password','t3://localhost:7001') > createCred(map="dip", key="jksKey", user="jksuser", password="changeit") > exit() $ $ORACLE_HOME/bin/manageDIPServerConfig set -h localhost -p 7005 -D weblogic -attribute keystorelocation -val /u01/app/oracle/product/fmw11g/dip_inst1/config/DIP_JKS/dip.jks $ $ORACLE_HOME/bin/manageDIPServerConfig set -attribute sslmode -val 2 -h localhost -p 7005 -D weblogic $ $ORACLE_HOME/bin/manageDIPServerConfig set -attribute backendhostport -val localhost:1636 -h localhost -p 7005 -D weblogic • For any external directory integration similar SSL trust certificate has to be imported into the DIP configured keystore 38
  • 39. © Tieto Corporation Public Usage of SSL in OUD for external LDAPS connections • Same case • Add external SSL trust certificates to OUD keystore $ keytool -importcert -trustcacerts -alias MY_EXTERNAL_LDAPS -file /tmp/saved_base64_ssl_certificate.txt -keystore $ORACLE_INSTANCE/OUD/config/keystore 39
  • 40. © Tieto Corporation Public External password plugins in OUD • Use case: Active Directory – passwords are not directly synced by DIP • OID has a cool feature – external password plugin • Java based module which forwards the BIND requests to external LDAP directories for authentication • OUD does not have these kind of modules, however • OUD 11.1.2.2+ • Pass Through Authentication (OUD PTA) • OUD 11.1.2.3+ • On-Demand Password • Password Translate • OUD / DIP Synchronization with Active Directory (Doc ID 1534241.1) 40
  • 41. © Tieto Corporation Public External password plugins in OUD PTA (I) • How it works: • You have your Local Naming Context dc=example,dc=com with synced user entries by DIP (no userpassword / orclpassword attributes). • You configure a new Proxy Workflow and mount external LDAP Base DN. • A Workflow Element will merge both sources and use local context as user provider and external proxy context as authentication provider. 41
  • 42. © Tieto Corporation Public External password plugins in OUD PTA (II) • Configure OUD LDAP extension $ dsconfig -h localhost -p 4461 -D "cn=directory manager" -j /tmp/oud_pwd -X -n create- extension --type ldap-server --extension-name proxy_extension_pta_ext_ldap --set remote-ldap-server-read-only:true --set remote-ldap-server-address:myad.example.com --set remote-ldap-server-port:389 --set remote-ldap-server-ssl-port:636 --set remote-ldap-server-ssl-policy:always --set ssl-trust-all:true --set ssl-trust-manager-provider:JKS --set enabled:true 42
  • 43. © Tieto Corporation Public External password plugins in OUD PTA (III) • Configure OUD Proxy Workflow elements $ dsconfig -h localhost -p 4461 -D "cn=directory manager" -j /tmp/oud_pwd -X -n create-workflow-element --set client-cred-mode:use-specific-identity --set enabled:true --set ldap-server-extension:proxy_extension_pta_ext_ldap --set remote-ldap-server-bind-dn:cn=system_user,ou=ad_system_accounts,dc=example,dc=com --set remote-ldap-server-bind-password:password --set remote-root-dn:cn=system_user,ou=system_accounts,dc=ad,dc=example,dc=com --set remote-root-password:password --type proxy-ldap --element-name wf_element_auth_pta_ext_ldap $ dsconfig -h localhost -p 4461 -D "cn=directory manager" -j /tmp/oud_pwd -X -n create-workflow-element --set auth-provider-workflow-element:wf_element_auth_pta_ext_ldap --set enabled:true --set user-provider-workflow-element:userRoot # our default naming context created in OUD --set pta-suffix:ou=people,dc=example,dc=com --set pta-auth-suffix:ou=people,dc=example,dc=com --set pta-user-suffix:ou=people,dc=example,dc=com --type pass-through-authentication --element-name wf_element_pta_ext_ldap 43
  • 44. © Tieto Corporation Public External password plugins in OUD PTA (IV) • Configure OUD Proxy Workflow $ dsconfig -h localhost -p 4461 -D "cn=directory manager" -j /tmp/oud_pwd -X -n create-workflow --workflow-name pta_ext_ldap_wf --set base-dn:ou=people,dc=example,dc=com --set enabled:true --set workflow-element:wf_element_pta_ext_ldap • Enable the new configuration $ dsconfig -h localhost -p 4461 -D "cn=directory manager" -j /tmp/oud_pwd -X -n set-network-group-prop --group-name network-group --set enabled:true --add workflow:pta_google_openldap_wf 44
  • 45. © Tieto Corporation Public External password plugins in OUD PTA (V) • Configure OUD Proxy Workflow $ ldapsearch -h localhost -p 1389 -D "cn=user1,ou=people,dc=example,dc=com" -b "cn=user1,ou=people,dc=example,dc=com" -s base "(objectclass=*)" "orclSourceObjectDN” Password for user 'cn=user1,ou=people,dc=example,dc=com': dn: cn=user1,ou=people,dc=example,dc=com orclSourceObjectDN: cn=user1,ou=People,dc=example,dc=com • It works 45
  • 46. © Tieto Corporation Public On-Demand Password (I) 46 • Configure DIP plugin $ORACLE_HOME/bin/dipConfigurator setupPlugin -wlshost localhost -wlsport 7001 -wlsuser weblogic -ldaphost myad.example.com -ldapport 636 -ldapuser "cn=Directory Manager" -isldapssl true • Create an attribute mapping rule using the Oracle Enterprise Manager Fusion Middleware Control (or cli)
  • 49. © Tieto Corporation Public On-Demand Password (IV) • There used to be a mistake in documentation • https://docs.oracle.com/middleware/11119/dip/administer/odip_sync_p rof_confg.htm#OIMIG3331 49
  • 50. © Tieto Corporation Public Password Translate (I) • Configure DIP plugin • $ORACLE_HOME/bin/dipConfigurator setupPlugin -wlshost localhost -wlsport 7001 -wlsuser weblogic - ldaphost oudhost -ldapport 389 -ldapuser "cn=Directory Manager" -isldapssl false -ldapadminport 4444 • Do not run if already run during On-Demand setup • Enable PasswordTranslation • $ORACLE_HOME/bin/dipConfigurator setupPasswordTranslation -wlshost localhost -wlsport 7001 -wlsuser weblogic -ldaphost oudhost -ldapport 389 -ldapuser "cn=Directory Manager" -isldapssl false - ldapadminport 4444 50
  • 51. © Tieto Corporation Public Password Translate (II) • Configure mapping attributes (same workflow as for On- Demand option) 51
  • 52. © Tieto Corporation Public Password Translate (III) • Didn’t succeed out-of the box • Unrecognized token in attribute mapping rule "orclODIPTranslatePassword" 52
  • 53. © Tieto Corporation Public Password Translate (IV) • Password Sync / Translate Using DIP 11gR2PS7 (11.1.1.9.0) shows "Unrecognized token in attribute mapping rule "xxxxx"" (Doc ID 2013518.1) • Password Sync / Translate Using DIP 11gR2PS7 (11.1.1.9.0) shows "Unrecognized token in attribute mapping rule "xxxxx"" (Doc ID 2013518.1) • None of them really worked • Maybe another documentation bug, need to verify 53
  • 54. © Tieto Corporation Public OUD Access Log • OUD has access log tracing similar to Apache. • It tracks everything and YOU SHOULD LOVE IT! • $ORACLE_INSTANCE/OUD/logs/access [25/Nov/2016:13:50:35 +0200] CONNECT conn=1939 from=10.10.10.187:13771 to=10.10.10.160:1389 protocol=LDAP [25/Nov/2016:13:50:35 +0200] BIND REQ conn=1939 op=0 msgID=1 type=SIMPLE dn="cn=directory manager" version=3 [25/Nov/2016:13:50:35 +0200] BIND RES conn=1939 op=0 msgID=1 result=0 authDN="cn=Directory Manager,cn=Root DNs,cn=config" etime=1 [25/Nov/2016:13:50:35 +0200] UNBIND REQ conn=1939 op=1 msgID=2 [25/Nov/2016:13:50:35 +0200] DISCONNECT conn=1939 reason="Client Disconnect” [25/Nov/2016:13:50:36 +0200] CONNECT conn=1940 from=10.10.10.160:63638 to=10.10.10.160:1389 protocol=LDAP [25/Nov/2016:13:50:36 +0200] BIND REQ conn=1940 op=0 msgID=1 type=SIMPLE dn="cn=directory manager" version=3 [25/Nov/2016:13:50:36 +0200] BIND RES conn=1940 op=0 msgID=1 result=0 authDN="cn=Directory Manager,cn=Root DNs,cn=config" etime=0 [25/Nov/2016:13:50:36 +0200] SEARCH REQ conn=1940 op=1 msgID=2 base="ou=people,dc=domain,dc=com" scope=sub filter="(uid=*)" attrs="ALL” [25/Nov/2016:13:50:36 +0200] SEARCH RES conn=1940 op=1 msgID=2 result=0 nentries=0 etime=1 [25/Nov/2016:13:50:36 +0200] SEARCH REQ conn=1940 op=2 msgID=3 base="ou=groups,dc=domain,dc=com" scope=sub filter="(cn=*)" attrs="cn” [25/Nov/2016:13:50:36 +0200] SEARCH RES conn=1940 op=2 msgID=3 result=0 nentries=0 etime=0 54
  • 55. © Tieto Corporation Public Virtual Attributes • An attribute which is more like a function • The best example: isMemberOf • Is true if a user is a member of a defined group • The most useful place to use: LDAP filters • Example: • OAM User Identity Store filter to allow only specific group to access your EBS • KEY_LDAP_FILTER: (&(uid={KEY_USERNAME})(isMemberOf=cn=ebs_sso_allowed_users ,ou=groups,dc=example,dc=com)) 55
  • 56. © Tieto Corporation Public • How Java parameters are managed for OUD (like memory) • $ORACLE_INSTANCE/OUD/config/java.properties • Contains JDK home, parameters for runtime, parameters for offline tools, like same ldapsearch • Once the changes are applied, execute dsjavaproperties, which will apply all the changes into the executables • Example default.java-home=/u01/app/oracle/product/jdk/jre start-ds.java-args=-Xms256m -Xmx512m -d64 -XX:+UseCompressedOops -server -XX:MaxTenuringThreshold=1 - XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=55 OUD Java Parameter Management 56
  • 58. © Tieto Corporation Public Overview • Performance is a feature :) • Overall the OUD performance is very good • The more memory you configure – the more you get into the cache • Apply 11.1.2.3.161018. Many performance related bugs are resolved per the change log. “isMemberOf” is the top mention. • Some real problems may start only when your data size exceeds hundreds of thousands, like 400 000 user accounts. 58
  • 59. © Tieto Corporation Public Indexes • Use case: DIP ApplicationToOID profile is doing Root DN sub-search looking for entries with required orclGUID, to confirm it exists • With large directories it can spin the CPU a lot • Can be indexed dsconfig -h localhost -p 4461 -D "cn=directory manager" -j /tmp/oud_pwd -X -n create-local-db-index -- element-name userRoot --index-name orclguid --set index-type:equality rebuild-index -h localhost -p 4461 -D "cn=directory manager" -j /tmp/oud_pwd -X -b "dc=example,dc=com" -i orclguid • If DIP bootstrap synchronized a huge amount of user accounts (ex from external directory) – full index rebuild is highly recommended rebuild-index -b "dc=example,dc=com" --rebuildAll 59
  • 60. © Tieto Corporation Public Root DN based search • Same use case: DIP ApplicationToOID ldapsearch -h localhost -p 1389 -D "cn=directory manager" -j /tmp/oud_pwd -b "" "(orclguid=XXXXXXXXXXXXXXXXXXXXXX)" "*" • OUD will also look into cn=changelog as it interprets it as non-hidden naming context. • Fix: No fix. This is how OUD works • Recommendation: evaluate the data size, and put the memory enough to cache as maximum as possible. • https://blogs.oracle.com/sduloutr/entry/oud_external_change_log_and • OUD - Bad Performance of a Subtree Search on the Root DSE if the External Changelog is Enabled. (Doc ID 1676998.1) 60
  • 61. © Tieto Corporation Public Root DN based search (II) • If you have external directory using PTA, your search effort will be doubled, and also will become depended externally. • Root DN searches are processing every Workflow Element enabled for the network group. • Cache ! 61
  • 62. © Tieto Corporation Public Data cache tuning • If your LDAP data is 1 GB in size, you can configure your OUD instance to 2 GB memory and set data cache to utilize 50 % $ dsconfig -h localhost -p 4461 -D "cn=directory manager" -w password set-workflow- element-prop --element-name userRoot --set db-cache-percent:50 62
  • 64. © Tieto Corporation Public OUD Implementation Considerations • OUD is an interesting lightweight product • Hard to say if it’s better or worse than OID. Both OUD and OID have their own pros and cons • OUD – is a replacement product. OID is going away soon (Dec 2018 / Dec 2021). • Comparing to 11gR1, where OUD was not usable at all for Oracle stack integrations, it is now more less ready. Of course, with some nuances mentioned. • Simplified setup and configuration • It takes time to tune everything. Let us be patient 64