Zoe_Luo, we are not using tnsnames.ora to connect because there are too many to keep them synced in a tnsnames.ora file on all of the machines.
We have an ldap.ora file that points to our OID server and in the sqlent.ora it references LDAP first, then tnsnames. I frankly don't even have a tnsnames.ora file on my box.
sqlnet.ora
names.directory_path=(ldap,tnsnames)
diag_adr_enabled=on
sec_protocol_error_trace_action=alert
sec_protocol_error_further_action=delay,2
sec_max_failed_login_attempts=2
sqlnet.encryption_server=requested
sqlnet.encryption_types_server=(aes256,aes192,aes128,3des168,3des112)
sqlnet.encryption_client=requested
sqlnet.encryption_types_client=(aes256,aes192,aes128,3des168,3des112)
sqlnet.expire_time=10
sqlnet.inbound_connect_timeout=5
ldap.ora
DEFAULT_ADMIN_CONTEXT = "dc=anywhere,dc=com"
DIRECTORY_SERVERS= (oid.anywhere.com:4545:4546)
DIRECTORY_SERVER_TYPE = OID