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: A single dedicated server shared between multiple sessions?

Re: A single dedicated server shared between multiple sessions?

From: Anton Buijs <remove_aammbuijs_at_xs4all.nl>
Date: Tue, 12 Aug 2003 11:04:24 +0200
Message-ID: <3f38ad96$0$49111$e4fe514c@news.xs4all.nl>

Billy Verreynne <vslabs_at_onwe.co.za> schreef in berichtnieuws 1a75df45.0308120032.6fd631de_at_posting.google.com...
| "Anton Buijs" <remove_aammbuijs_at_xs4all.nl> wrote
|
| > It *IS* correct, even in dedicated server mde. When you start Oracle Forms
you
| > get a server process (can be found in V$PROCESS and as a Unix "oracleSID"
| > process) and one session (can be found in V$SESSION). For each new window
the
| > user opens a new session is created within the *same* server proces.
|
| I think the term "session" is a problem. With that I refer to a
| session handle on the client side - its connection pipe to the
| database.

A session is what can be seen in Oracle in the V$SESSION view.

| In dedicated mode, that pipe runs into a single shadow process.
| Period.

A don't argue with that.

| How many make believe "sessions" the client creates, are not the
| point. Of course these can be run (serialised) over a single session
| handle to the database.
|
| In Delphi for example, a session handle/pipe is encapsulated in two
| classes. TSession (the actual connection) and TDatabase (the db
| driver/layer). I can have multiple "client sessions" over a single
| TConnection/TDatabase session pipe in the form of TSQL and TTable
| objects.
|
| However, access is serialised. Only a single TSQL (or TTable) can
| "execute" at a time. Even so, I can still have as many TSQL & TTable
| cursors open as Oracle allows for that single session pipe.
|
| To multi-thread properly and have two active/executing TSQLs at the
| _same_ time, I need two separate and distinct TConnection/TDatabase
| objects. Then I can have TSQL1 running over TConnection1/TDatabase1 at
| the same time as TSQL2 over TConnection2/TDatabase2.
|
| In dedicated server mode, this translates into two session pipes from
| a single client that results into two shadows.
|
| Oracle only allows a _single_ SQL statement to be executed over a
| session handle at a time (ditto for SQL-Server, DB2, Ingress,
| Informix, Sybase and Interbase).
|
|
| So to answer the question in this thread's title:
|
| Q. A single dedicated server shared between multiple
| sessions?
|
| A. No. If "session" implies Oracle sessions. In dedicated
| server mode the relationship is 1:1 between physical
| server process and Oracle session.
| (unlike MTS where it is a 1:n relationship)
|
| A. If by "session" you imply a client "session" (which
| can be anything), then yes. Like you can have 20
| cursors open in a single SQL*Plus session, you can
| have 20 "client sessions" active over a single Oracle
| server connection/session. (no magic to it at all -
| except for confusing "client sessions" for "Oracle
| sessions")

Don't overcomplicate things. A session is a session. I don't want to make the difference you make here. Makes no sense to me. Don't give your own interpretation to 'session'. Oracle has clear terms for what a process and a session is.
Don't use MTS in this context, it makes things even more unclear. Received on Tue Aug 12 2003 - 04:04:24 CDT

Original text of this message

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