Sunday, October 25, 2009

Unable to call fnd_ldap_wrapper.create_user due to the following errors

We were not able to create new user or change users password using user define screen in Oracle Apps 12i. Even we were not able to change user id's password using FNDCPASS. All of above were failing with given below error.

ERROR

Unable to call fnd_ldap_wrapper.create_user due to the following errors

ORA-20001: Unable to call fnd_ldap_wrapper.create_user due to the following reason:

Oracle Internet Directory is not registered correctly.

Please contact your System Administrator...

(USER_NAME=TEMP123)

 

From above error it was clear that issue was with OID registration. I check OID registration log and I noticed following error in OID log.

*** Log File = /opt01/app/oracle/ERMR/inst/apps/ERMR_ios0209e/logs/appl/rgf/TXK/txkSetSSOReg_Thu_Oct_15_19_27_42_2009.xml

<record>

<date>Oct 15, 2009 7:27:46 PM</date>

<millis>1255649266373</millis>

<sequence>40</sequence>

<logger>txkSetSSOReg</logger>

<level>SEVERE</level>

<class>oracle.apps.fnd.txk.ias.TXKSTDIO</class>

<method>throwable</method>

<thread>0</thread>

<message>java.lang.UnsatisfiedLinkError: jmisc (A file or directory in the path name does not exist.)

at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:998)

at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:962)

at java.lang.System.loadLibrary(System.java:465)

at oracle.security.misc.C05.c(C05)

at oracle.security.misc.Checksum.SHA(Checksum)

at oracle.ias.repository.IASSchema$Enc.d(IASSchema.java:3076)

at oracle.ias.repository.IASSchema.getDirectoryWriter(IASSchema.java:1263)

at oracle.ias.repository.IASSchema.makeNewOIDEntry(IASSchema.java:1381)

at oracle.ias.repository.SchemaManager.makeNewOIDEntry(SchemaManager.java:820)

at oracle.apps.fnd.txk.ias.oid.Instance.register(Instance.java:916)

at oracle.apps.fnd.txk.ias.oid.Instance.main(Instance.java:1390)

</message>

</record>

</log>

I investigated further and noticed given below in Metalink Note: 376811.1. We missed to apply patch 5855635 on 10.1.3 home.

Note: If you are integrating Oracle 10gAS SSO/OID with AIX based Oracle E-Business Suite Release 12, then OID registration will fail with following error. Apply patch 5855635 to AS 10.1.3 ORACLE_HOME of Release 12. See known issue section and patch readme for more details.

java.lang.UnsatisfiedLinkError: jmisc (A file or directory in the path name does not exist.)

Resolution

  1. We applied patch 5855635 on 10.1.3 home
  2. We unregistered OID, SSO and instance using given below script.

    $cat unregistration.sh

    . $APPL_TOP/$CONTEXT_NAME.env

    . $INST_TOP/ora/10.1.3/$CONTEXT_NAME.env

     

    echo "Please enter APPS password of database:\c"

    read APPSPWD

     

    echo "Please enter OID/SSO Repository database Hostname:\c"

    read REP_HOSTNAME

     

    echo "Please enter Repository Database Listener Port:\c"

    read REP_PORT

     

    echo "Please enter Repository Database name :\c"

    read REP_DBNAME

     

    echo "Please enter LDAP port (3030):\c"

    read LDAP_PORT

     

    echo "Please enter LDAP SSL Port (default: 3130) :\c"

    read LDAP_SSLPORT

     

    echo "Please enter ORCLADMIN password:\c"

    read ORCL_PWD

     

    echo "PLease enter LDAP Server name(ssod/ssot/ssop.idc.ikon.org):\c"

    read LDAP_HOST

     

    clear

    echo "\n\n\t\t+++++++++++++++++++++++++++++++++++++"

    echo "\t\tREPOSITORY HOSTNAME : $REP_HOSTNAME"

    echo "\t\tREPOSITORY PORT : $REP_PORT"

    echo "\t\tREPOSITORY DBNAME : $REP_DBNAME"

    echo "\t\tAPPS/SYSTEM PWD : $APPSPWD"

    echo "\t\tLDAP PORT : $LDAP_PORT"

    echo "\t\tORCLADMIN PWD : $ORCL_PWD"

    echo "\t\t11i_ENV : $CONTEXT_NAME"

    echo "\t\t++++++++++++++++++++++++++++++++++++++"

     

    echo "Please review and hit enter"

    read

     

    echo "DeRegistering OID"

    echo "*****************"

    $FND_TOP/bin/txkrun.pl \

    -script=SetSSOReg \

    -deregisteroid=yes \

    -appspass=$APPSPWD \

    -ldaphost=$LDAP_HOST \

    -ldapport=$LDAP_PORT \

    -oidadminuserpass=$ORCL_PWD \

    -appname=$CONTEXT_NAME \

    -svcname=$CONTEXT_NAME \

     

    echo "Deregister SSO "

    $FND_TOP/bin/txkrun.pl -script=SetSSOReg \

    -deregistersso=yes \

    -appspass=$APPSPWD

     

    echo "Deregister Instance"

    echo "*******************"

    $FND_TOP/bin/txkrun.pl \

    -script=SetSSOReg \

    -deregisterinstance=yes \

    -oidadminuserpass=$ORCL_PWD \

    -appspass=$APPSPWD

     

    echo "Remove Preference"

    $FND_TOP/bin/txkrun.pl \

    -script=SetSSOReg \

    -removereferences=yes \

    -appspass=$APPSPWD

     

  3. I reregistered as given below

    . $APPL_TOP/$CONTEXT_NAME.env

    . $INST_TOP/ora/10.1.3/$CONTEXT_NAME.env

     

    echo "Please enter APPS password of database:\c"

    read APPSPWD

     

    echo "Please enter OID/SSO Repository database Hostname:\c"

    read REP_HOSTNAME

     

    echo "Please enter Repository Database Listener Port:\c"

    read REP_PORT

     

    echo "Please enter Repository Database name (SSOD/SSOT/SSOP):\c"

    read REP_DBNAME

     

    echo "Please enter LDAP port(3030):\c"

    read LDAP_PORT

     

    echo "Please enter LDAP SSL Port (default: 3130) :\c"

    read LDAP_SSLPORT

     

    echo "Please enter ORCLADMIN password:\c"

    read ORCL_PWD

     

    echo "PLease enter LDAP Server name:\c"

    read LDAP_HOST

     

    clear

    echo "\n\n\t\t+++++++++++++++++++++++++++++++++++++"

    echo "\t\tREPOSITORY HOSTNAME : $REP_HOSTNAME"

    echo "\t\tREPOSITORY PORT : $REP_PORT"

    echo "\t\tREPOSITORY DBNAME : $REP_DBNAME"

    echo "\t\tAPPS/SYSTEM PWD : $APPSPWD"

    echo "\t\tLDAP PORT : $LDAP_PORT"

    echo "\t\tORCLADMIN PWD : $ORCL_PWD"

    echo "\t\t11i_ENV : $CONTEXT_NAME"

    echo "\t\t++++++++++++++++++++++++++++++++++++++"

     

    echo "Please review and hit enter"

    read

     

    echo "Registering instance "

    echo "*******************"

     

    $FND_TOP/bin/txkrun.pl -script=SetSSOReg \

    -registerinstance=yes \

    -infradbhost=$REP_HOSTNAME \

    -ldapport=$LDAP_PORT \

    -ldapportssl=$LDAP_SSLPORT \

    -ldaphost=$LDAP_HOST \

    -oidadminuser=cn=orcladmin \

    -oidadminuserpass=$ORCL_PWD \

    -appspass=$APPSPWD

     

    echo "Registering SSO"

    echo "*******************"

    $FND_TOP/bin/txkrun.pl \

    -script=SetSSOReg \

    -registersso=yes \

    -appspass=$APPSPWD

     

    echo "Registering OID"

    echo "*****************"

    $FND_TOP/bin/txkrun.pl \

    -script=SetSSOReg \

    -registeroid=yes \

    -ldaphost=$LDAP_HOST \

    -ldapport=$LDAP_PORT \

    -oidadminuserpass=$ORCL_PWD \

    -appspass=$APPSPWD \

    -instpass=$APPSPWD \

    -appname=$CONTEXT_NAME \

    -svcname=$CONTEXT_NAME \

    -provisiontype=3

  4. I did not noticed error in OID log
  5. Restated Oracle Apps 12i services.
  6. I was able to login without supplying ID and password. I was also able to reset password and create user.

No comments: