sqlplus timeout when connnecting
If you are using a pam_ldap or pam_nis environement and it happend that sqlplus does not want to connect as user but it does as root, waiting for :
socket(PF_FILE, SOCK_STREAM, 0) = 3
connect(3, {sa_family=AF_FILE, path="/var/run/.nscd_socket"}, 110) =
-1 ENOENT (No such file or directory)
close(3) = 0
open("/etc/hosts", O_RDONLY) = 3
fcntl64(3, F_GETFD) = 0
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=286, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE
|MAP_ANONYMOUS, -1, 0) = 0x45b78000
read(3, "127.0.0.1tlocalhost.localdomaint"..., 4096) = 286
read(3, "", 4096) = 0
close(3) = 0
munmap(0x45b78000, 4096) = 0
getpid() = 26002
getuid32() = 1121
futex(0x41239198, FUTEX_WAIT, 2, NULL
You just to have make sure to have nscd up and running. dunno what sqlplus does
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Thank You! What an insane cause, I would NEVER have figured that out myself. Thank you, thank you, thank you!
[...] Chmouel Blog is my hero for the day. SQLPlus was hanging from Linux, with no logical reason that I could find. Turns out that SQLPlus will hang, if you have the name service cache daemon turned off and you are running ldap auth. As I was configuring the machine and some irritating caches were occuring, I had disabled it. I can’t imagine why this causes it to hang, and I would never have figured it out myself (though it would have been fixed on the next reboot). Solution, just start nscd. Doh! Thanks Chmouel! [...]
I kept Googling for “SQLPLUS HANGS”. I should have searched for “Oracle Miracle” first off.
Thanks a lot, Chmouel. You saved me tons of grief!
Hah! Thanks for posting about this issue on your weblog! You probably just saved me a couple of hours worth of debugging time
Thanks. I had the same problem. Other solution: if the users (in my case they are app-specific demon users) are in local database (/etc/passwd), switching in nsswitch.conf to:
when runnig from local users.
passwd: compat ldap
stops hangs of sqlplus (or dbd::oracle
php-oci binding seams to be immune to this, as they are not using ociserverattach.