OID 10g (10.1.4.3.0) Returns Nothing / No Results (Or Partial Results) From Ldap Searches (Doc ID 1151713.1)

Last updated on MARCH 08, 2017

Applies to:

Oracle Internet Directory - Version: 10.1.4.3 and later   [Release: 10gR3 and later ]
Information in this document applies to any platform.

Symptoms

Oracle Internet Directory (OID) 10g 10.1.4.3.0.

Scenario:
Two systems, for example, INT and DEV.

After applying database init.ora workaround from <>, the DEV instance now works fine, however the INT instance still experiences the problem.

Compared all %ORACLE_HOME% exe's, dll's, versions, patches, etc., between the working and non-working systems but found minimal differences (i.e., only for a few unrelated EM files).

Both nodes have the same in memory filter settings for OAM integration as outlined in <>.  The only difference found between the two systems is that INT uses a RAC Database as backend whereas DEV uses a standalone Database (but that was not relevant to the issue).

Also tried applying <> but the problem persits.

Problem Details:
Searches are not returning expected results, i.e., return nothing / return no results or only partial results.

Sample problem search:
ldapsearch -h <int oid host> -p <port> -D "cn=orcladmin" -w <pasword> -b "ou=internal,o=myorg,c=mycountry" -s sub "(&(objectclass=inetOrgPerson)(modifytimestamp>=20090313205713Z))"

Additional examples of searches:

ldapsearch -h <int oid host> -p <port> -D "cn=orcladmin" -w <pasword> -b "ou=internal,o=myorg,c=mycountry" -s one (objectclass=inetOrgPerson) dn

ldapsearch -h <int oid host> -p <port> -D "cn=orcladmin" -w <pasword> -b "ou=internal,o=myorg,c=mycountry" -s one "(modifytimestamp>=20090909000000)" dn
Getting results (where overlap exists) for the first 2 queries above.

ldapsearch -h <int oid host> -p <port> -D "cn=orcladmin" -w <pasword> -b "ou=internal,o=myorg,c=mycountry" -s one "(&(objectclass=inetOrgPerson)(modifytimestamp>=20090909000000))" dn
This third query returns nothing.


Steps to Reproduce:
After further testing, the issue can be reproduced consistently by using the following steps on a typical 10.1.4.3 OID installation on Windows with typical 10.1.0.5 standalone Database included:

1. Set environment variables correct for the OID home, i.e. in Windows:
set ORACLE_HOME=C:\oracle\infra
set ORACLE_SID=ORCL
set PATH=%ORACLE_HOME%\bin;%ORACLE_HOME%\ldap\bin;%PATH%

2. Catalog the "modifytimestamp" attribute:
catalog connect=<servicename> add="true" attribute="modifytimestamp"

3. Test the problem search to find that initially it works ok and returns expected results:
ldapsearch -h <oid host> -p <port> -D cn=orcladmin -w <password> -s sub -b "dc=mycompany,dc=com" "(&(objectclass=inetOrgPerson)(modifytimestamp>=20100319170045z))" dn

cn=orcladmin, cn=Users,dc=mycompany,dc=com
cn=u1,cn=users,dc=mycompany,dc=com
cn=u2,cn=users,dc=mycompany,dc=com

4. Change the Configuration Set in use to have more than only one server process, i.e., set Number of Child Processes (orclserverprocs attributes) to 2, and restart OID server so this change takes effect.

5. Retry the search from step 3 above to find it now returns no entries / nothing.

OID debugged log capture of the failing search shows the following, for example:
BEGIN
2009/11/16:14:38:22 * ServerWorker (REG):3
ConnID:11 * mesgID:2 * OpID:1 * OpName:search
ConnIP:127.0.0.1 ConnDN: cn=orcladmin
gslfsfAStr2Filter "(modifytimestamp>=20090909000000)"
14:38:22 * gslfsfCStr2Simple "modifytimestamp>=20090909000000"
14:38:22 * orclinmemFilter:
Orig
Filter=(&(objectclass=inetorgperson)(modifytimestamp>=20090909000000))
New filter=(modifytimestamp>=20090909000000)
14:38:22 * INFO :gslfseADoSearch BASE = ou=internal,o=myorg,c=mycountry
FILTER = (&(objectclass=inetorgperson)(modifytimestamp>=20090909000000))

#REQDATTR = 1 scope =1
14:38:22 * => gsldbBuildFilterList
14:38:22 * AND
14:38:22 * => gslffeETestFilterList
14:38:22 * EQUALITY
14:38:22 * <= gslffeATestFilter 0
14:38:22 * GE
14:38:22 * <= gslffeATestFilter 1022
14:38:22 * <= gslffeETestFilterList 1
14:38:22 * <= gslffeATestFilter 1010
14:38:22 * gslbesSearch: In memory filter not sending the dn
uid=user1,ou=people,ou=internal,o=myorg,c=mycountry
14:38:22 * AND
14:38:22 * => gslffeETestFilterList
14:38:22 * EQUALITY
14:38:22 * <= gslffeATestFilter 0
14:38:22 * GE
14:38:22 * <= gslffeATestFilter 1022
14:38:22 * <= gslffeETestFilterList 1
14:38:22 * <= gslffeATestFilter 1010
14:38:22 * gslbesSearch: In memory filter not sending the dn
uid=user2,ou=people,ou=internal,o=myorg,c=mycountry
14:38:22 * AND
14:38:22 * => gslffeETestFilterList
14:38:22 * EQUALITY
14:38:22 * <= gslffeATestFi
14:38:22 * EQUALITY
14:38:22 * <= gslffeATestFilter 0
14:38:22 * GE
14:38:22 * <= gslffeATestFilter 1022
14:38:22 * <= gslffeETestFilterList 1
14:38:22 * <= gslffeATestFilter 1010
14:38:22 * gslbesSearch: In memory filter not sending the dn
uid=user3,ou=people,ou=internal,o=myorg,c=mycountry
14:38:22 * AND
14:38:22 * => gslffeETestFilterList
14:38:22 * EQUALITY
14:38:22 * <= gslffeATestFilter 0
14:38:22 * GE
14:38:22 * <= gslffeATestFilter 1022
14:38:22 * <= gslffeETestFilterList 1
14:38:22 * <= gslffeATestFilter 1010
14:38:22 * gslbesSearch: In memory filter not sending the dn
uid=user16,ou=people,ou=internal,o=myorg,c=mycountry
14:38:22 * AND
14:38:22 * => gslffeETestFilterList
14:38:22 * EQUALITY
14:38:22 * <= gslffeATestFilter 0
END

BEGIN
2009/11/16:14:38:22 * ServerWorker (REG):3
ConnID:11 * mesgID:2 * OpID:1 * OpName:search
ConnIP:127.0.0.1 ConnDN: cn=orcladmin
GE
14:38:22 * <= gslffeATestFilter 1022
14:38:22 * <= gslffeETestFilterList 1
14:38:22 * <= gslffeATestFilter 1010
14:38:22 * gslbesSearch: In memory filter not sending the dn
uid=user2,ou=people,ou=internal,o=myorg,c=mycountry
14:38:22 * INFO : gsleswrASndResult2 RESULT = 0 nentries=0
END

BEGIN
2009/11/16:14:38:22 * ServerWorker (SPW):15
ConnID:11 * mesgID:3 * OpID:2 * OpName:unbind
ConnIP:127.0.0.1 ConnDN: cn=orcladmin
gslfubADoUnbind : conn=11 IP=127.0.0.1
END

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms