Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: MTS/MSDTC ORACLE problem

Re: MTS/MSDTC ORACLE problem

From: Pete Sharman <psharman_at_us.oracle.com>
Date: Thu, 01 Jul 1999 11:27:09 -0700
Message-ID: <377BB2FD.72BB7600@us.oracle.com>


Sure. The confusion is caused by the fact that connection pooling and Connection Manager have very specific meanings in Oracle, more specific than the general use of the terms out there in the market place. Let me explain by firstly looking at Connection Manager. Connection Manager is part of Net8. It installs on a middle tier (i.e. between the client and the database server) and acts as a funnel or multiplexer of client connections. Diagrammatically, what you see is this:

Client
Client
Client
.

.                                                   Connection
Manager---------------Server
.
.
.
.

Draw a line from each client to the Connection Manager in your mind, and what you're seeing is multiplexing - multiple client connections to a single (or more) Connection Manager, which maintains a single pipe to the database server. As a result, there are much fewer "connections" to the server.

This is what is often rather generically called connection multiplexing or connection pooling. The way you're using the term connection pooling matches this. However, in the Oracle world with Net8, connection pooling is something very different. In the high end database market, there are clients who are starting to reach the limits of how many users can connect to a single box, and here I'm talking about the physical port numbers. For example on a Unix box there's something like 64K ports available (depends on whether you're running 32 bit or 64 bit). We have clients who want to connect more than this number of users to a server, so for that reason Oracle's connection pooling capability was born. In this, the physical ports are cycled among users transparently, so a user who's doing some think time rather than actual active work will be transparently disconnected from the port they were using and the port given to someone else. When the user finishes his or her think time and attempts to do more work, they are transparently reconnected, probably through another port, and they don't even realize it's happened.

As you can probably understand if you think about the underlying architecture, both Connection Manager and connection pooling rely on MTS architecture. They're documented more thoroughly in the Net8 Manual.

HTH. Pete

p_m_hegt_at_hotmail.com wrote:

> > Peter
> >
> > What you probably have enabled is Connection Manager, not connection
> > pooling. Connection Manager acts as a concentrator from a middle
> tier.
> > Connection pooling is a way of getting around the physical number of
> ports
> > limitation on Unix.
> >
> > HTH.
>
> Could you please explain that a little bit more. . .
>
> Because as I have understood it (but then I can be wrong) that you get
> database connection pooling automatically with MTS and ODBC drivers or
> OLEDB providers that support it. The Microsoft OLEDB provider for
> Oracle definetly supports connection pooling (we have seen it working
> here). Note that there is a registry setting to disable connection
> pooling (which we of course don't). I think that ADO and/or MTS manages
> the connection pool, how it exactly works I don't know.
>
> Do you have MTS installed on your computer? If so, you can read in C:
> \WINNT\help\mts\html\ the MTS documentation. There's not too much about
> connection pooling (or maybe I have forgotten).
>
> Regards, Peter
>
> Sent via Deja.com http://www.deja.com/
> Share what you know. Learn what you don't.

--
Regards

Pete


Received on Thu Jul 01 1999 - 13:27:09 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US