Re: Shadow Process on Dedicated Server

From: ddf <>
Date: Tue, 5 May 2009 05:41:01 -0700 (PDT)
Message-ID: <>

On May 4, 5:27 pm, joel garry <> wrote:
> On May 4, 11:16 am, chris <> wrote:
> > Hi Gurus,
> > I have a simple question:  If I have a dedicated server config on 10g
> > & already established a session to db through a terminal (of course,
> > I'm running something on this session), would a server spawn another
> > shadow process if I open another session on the same machine?  Could
> > someone please let me know?  How does oracle dedicated server db know
> > & handle multiple sessions on the same machine.
> > TIA,
> > -Chris
> desc v$session, note there is a process id field you can use to probe v
> $process (if my brain is working correctly today).
> Also search for the term spawn process on  You can
> spawn several processes before you even open another session.
> The concepts manual explains some of this, but looks unclear and
> simplistic to the point of wrong on your point.  It does correctly
> point out that the specifics vary by platform.  You need things like
> sysinternals or whatever it is called on Windows platforms to see
> these things.  John gave a reasonable suggestion for unix.
> jg
> --
> is bogus.
> "> The main reason behind the question is:
> > *) we have performance problems
> > => the application-owners prefer bashing the infrastructure (my boss)
> >   => he is to weak to go the right way = tell them to instrument their code
> > and measure it
> >     => he forces me to do this stupid research instead telling the
> > apps-owners how to tune.
> > so MY benefit is to tell my boss to get bigger balls AND tell the apps guys
> > to write instrumented code.
> > THEIR benefit is to KNOW they cannot bash us any longer without the
> > drawback of additional work on their side.
> > I'm not sure if I can write this on the list in these words, but I can in a
> > private fork ;-) " - on a list.- Hide quoted text -
> - Show quoted text -

Which may not provide the desired results if the session is a from a remote client; V$PROCESS does provide the SPID column which lists the local server process id for the associated Oracle process. Use the PADDR column from V$SESSION and join it to the ADDR column from V $PROCESS to associate an Oracle client session with an Oracle serverside  process:

select sid, serial#, username, osuser, process, terminal, program from v$session
where paddr = (select addr from v$process where spid = &1);

Client sessions will spawn local processes but V$SESSION reports the originating process id:

2784:960 (Windows process:thread format)

where V$PROCESS reports the local server PID:

19645 (UNIX/Linux process id)

As I said the records are linked by the address value for the associated Oracle process.

David Fitzjarrell Received on Tue May 05 2009 - 07:41:01 CDT

Original text of this message