OCI Connection pooling multiplexes multiple sessions on the same physical connection. This is done when the connection requests made by the application are sequential. If the requests are made concurrently by multiple threads, new connections are spawned.
I didn't understand the use of multiplexing sessions on the same physical connection? Since the basic idea of a connection pool is to anyways maintain a pool of open connections, if a new connection is requested, the connection pool returns an already open connection which avoids to overhead of opening a new connection.
How is session multiplexing anything different from this and how does it benefit to the application?