Operating System - HP-UX
1826331 Members
3407 Online
109692 Solutions
New Discussion

Re: TCP socket question(oracle)

 
Aashish Raj
Valued Contributor

TCP socket question(oracle)

Hi,

This question is in relation with oracle listener .How is it possible that different oracle dedicated servers communicate with different client using same port.
When i give netstat -an|grep 1521 , i get the TCP address of all oracle client each having a connection with server.1521.
My question is how different server processes communicate with different client using a common port 1521.

Thanks
AR
2 REPLIES 2
Steven Sim Kok Leong
Honored Contributor

Re: TCP socket question(oracle)

Hi,

When the Oracle listener receives a connection request at the sqlnet listener port e.g. service port 1521, it will spawn off an Oracle server process to serve this connection.

A rough analogy would be your inetd (listener) spawning off the telnetd (process) to serve a telnet request.

Hope this helps. Regards.

Steven Sim Kok Leong
Steven Gillard_2
Honored Contributor

Re: TCP socket question(oracle)

This is a very normal (traditional?) way of handling TCP socket connections. The server process keeps control of the 'passive' listener socket, accepting new connections. When a connection is received, a new 'active' socket descriptor is created for communication with the client. The server then spawns a child process which inherits this active socket and handles the connection.

If you look at ps output you'll notice that the oracle dedicated servers are all children of the listener process.

Regards,
Steve