I am getting the following error messages:H:\>sqlplus produser@proddb
SQL*Plus: Release 10.2.0.3.0 - Production on Mon Oct 26 13:58:12 2009
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
Enter password:
ERROR:
ORA-28030: Server encountered problems accessing LDAP directory service
My sqlnet.ora and ldap.ora shows the following:
sqlnet.ora
NAMES.DIRECTORY_PATH= (LDAP, TNSNAMES)
ldap.ora
DIRECTORY_SERVERS= (oid1p.iam.com:389:636,oid2p.iam.com:389:636,oid3p.iam.com:389:636)
DEFAULT_ADMIN_CONTEXT = "dc=iam,dc=com"
DIRECTORY_SERVER_TYPE = OID
I couldn't figure out what was going on. Every userid that was idnetified GLOBALLY was having this same error message:
Enter password:
ERROR:
ORA-28030: Server encountered problems accessing LDAP directory service
I was able to login to other remote servers from the database server using ldap entries. Didn't make sense.
Finally after numerous attempts, this is what I did to fix it. I had started up the database with the wrong ORACLE_BASE set. It was set to following : ORACLE_BASE=/oracle It should have been set to : ORACLE_BASE=/u01/oracle
Then I shutdown and restart the database and the user was able to login. The reason why this was the issue was because the wallet was under /u01/oracle/admin/<sid>/wallet directory and it couldn't find it.
Now you can also set something similar in your sqlnet.ora if possible so you prob. don't have to restart your database:
WALLET_LOCATION=
(SOURCE=
(METHOD=file)
(METHOD_DATA=
(DIRECTORY=/u01/oracle/admin/wallets)))
You can also run this command to check if your wallet is open:
select * from system.is_wallet_open;
You'll get something like :
WALLET_STATUS
-------------
1
Hope this helps.
Thanks,