471,083 Members | 1,214 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,083 software developers and data experts.

Who spawns a dedicated server process?

Is it the listener process, or some other Oracle process. Also, on a UNIX
system, when you do "ps -ef" to see your processes, the PPID points back to
a process named "init". Why does the PPID not point to some other process
like, for example, the listener, or PMON, or whoever spawned it.
thanks,
Mike
Jul 19 '05 #1
6 7165
"Michael J. Moore" <NO***********@comcast.net> wrote in message news:<UNrcb.425915$Oz4.221120@rwcrnsc54>...
Is it the listener process, or some other Oracle process. Also, on a UNIX
system, when you do "ps -ef" to see your processes, the PPID points back to
a process named "init". Why does the PPID not point to some other process
like, for example, the listener, or PMON, or whoever spawned it.
thanks,
Mike


The processes are spawned by the OS, repesented by the process called
init. Talk to you UNIX admin about how this works.

Then my question back to you arises: why do you care?

If you are the DBA, then you need to hit the manuals some more.
If you are not the DBA, you should not care.

(I suspect ayou are not the DBA but you feel to need to control this
process somehow. If you have some problem of performance or other,
post that and suggestions will come. Looking at process IDs will get
you nowhere in understanding the ORACLE operations and architecture.)

HTH,
ed

--
Magic Interface, Ltd.
440-498-3700
Jul 19 '05 #2
I have hit the manuals resulting in the very need to ask this question.

According to OCP 9i Database Fundamentals 1 Exam Guide:

On page 12 it says: "... the listener tells Oracle to generate a new
dedicated server ..." yet on page 14 in the questions and answers section it
says "The listener spawns a new server process."

So, which is it, "listener tell Oracle" or "listener spawns"? Or now you
have given me a third option "The processes are spawned by the OS".

The reason I care is because I would like to be able to answer this question
correctly if it occurs on an exam.

regards,

Mike

"Ed prochak" <ed********@magicinterface.com> wrote in message
news:4b**************************@posting.google.c om...
"Michael J. Moore" <NO***********@comcast.net> wrote in message

news:<UNrcb.425915$Oz4.221120@rwcrnsc54>...
Is it the listener process, or some other Oracle process. Also, on a UNIX system, when you do "ps -ef" to see your processes, the PPID points back to a process named "init". Why does the PPID not point to some other process like, for example, the listener, or PMON, or whoever spawned it.
thanks,
Mike


The processes are spawned by the OS, repesented by the process called
init. Talk to you UNIX admin about how this works.

Then my question back to you arises: why do you care?

If you are the DBA, then you need to hit the manuals some more.
If you are not the DBA, you should not care.

(I suspect ayou are not the DBA but you feel to need to control this
process somehow. If you have some problem of performance or other,
post that and suggestions will come. Looking at process IDs will get
you nowhere in understanding the ORACLE operations and architecture.)

HTH,
ed

--
Magic Interface, Ltd.
440-498-3700

Jul 19 '05 #3
"Michael J. Moore" <NO***********@comcast.net> wrote in message news:<ypMcb.432226$cF.134811@rwcrnsc53>...
I have hit the manuals resulting in the very need to ask this question.

According to OCP 9i Database Fundamentals 1 Exam Guide:

On page 12 it says: "... the listener tells Oracle to generate a new
dedicated server ..." yet on page 14 in the questions and answers section it
says "The listener spawns a new server process."

So, which is it, "listener tell Oracle" or "listener spawns"? Or now you
have given me a third option "The processes are spawned by the OS".

The reason I care is because I would like to be able to answer this question
correctly if it occurs on an exam.

regards,

Mike

"Ed prochak" <ed********@magicinterface.com> wrote in message
news:4b**************************@posting.google.c om...
"Michael J. Moore" <NO***********@comcast.net> wrote in message

news:<UNrcb.425915$Oz4.221120@rwcrnsc54>...
Is it the listener process, or some other Oracle process. Also, on a UNIX system, when you do "ps -ef" to see your processes, the PPID points back to a process named "init". Why does the PPID not point to some other process like, for example, the listener, or PMON, or whoever spawned it.
thanks,
Mike


The processes are spawned by the OS, repesented by the process called
init. Talk to you UNIX admin about how this works.

Then my question back to you arises: why do you care?

If you are the DBA, then you need to hit the manuals some more.
If you are not the DBA, you should not care.

(I suspect ayou are not the DBA but you feel to need to control this
process somehow. If you have some problem of performance or other,
post that and suggestions will come. Looking at process IDs will get
you nowhere in understanding the ORACLE operations and architecture.)

HTH,
ed

--
Magic Interface, Ltd.
440-498-3700


The last response was not correct. The O/S doesn't know how to start
Oracle processes on it's own. The ppid of the dedicated server
processes is the init process because Oracle pulls a little trick to
make that happen.

For remote connections (i.e. over the network) the dedicated server
process is actually spawned by the listener, and Oracle then makes the
init process into the parent of that dedicated server. If the ppid
(parent process id) remained the listener, you'd never be able to
shutdown the listener without killing all of your users. The init
process didn't start the server process because it doesn't even know
how to start an Oracle process.

For local connections (i.e. on the same box, on UNIX), the dedicated
server process is actually spawned by the client process. You can
easily see this becaue the ppid of the dedicated server process is the
client. If I remember correctly, Oracle doesn't make the server
process into a child of the init process because death of the client
means the server should die.

Corrections or comments are welcome...
Jul 19 '05 #4
"Michael J. Moore" <NO***********@comcast.net> wrote in message news:<ypMcb.432226$cF.134811@rwcrnsc53>...
I have hit the manuals resulting in the very need to ask this question.

According to OCP 9i Database Fundamentals 1 Exam Guide:

On page 12 it says: "... the listener tells Oracle to generate a new
dedicated server ..." yet on page 14 in the questions and answers section it
says "The listener spawns a new server process."

So, which is it, "listener tell Oracle" or "listener spawns"? Or now you
have given me a third option "The processes are spawned by the OS".

The reason I care is because I would like to be able to answer this question
correctly if it occurs on an exam.

regards,

Mike

"Ed prochak" <ed********@magicinterface.com> wrote in message
news:4b**************************@posting.google.c om...
"Michael J. Moore" <NO***********@comcast.net> wrote in message

news:<UNrcb.425915$Oz4.221120@rwcrnsc54>...
Is it the listener process, or some other Oracle process. Also, on a UNIX system, when you do "ps -ef" to see your processes, the PPID points back to a process named "init". Why does the PPID not point to some other process like, for example, the listener, or PMON, or whoever spawned it.
thanks,
Mike


The processes are spawned by the OS, repesented by the process called
init. Talk to you UNIX admin about how this works.

Then my question back to you arises: why do you care?

If you are the DBA, then you need to hit the manuals some more.
If you are not the DBA, you should not care.

(I suspect ayou are not the DBA but you feel to need to control this
process somehow. If you have some problem of performance or other,
post that and suggestions will come. Looking at process IDs will get
you nowhere in understanding the ORACLE operations and architecture.)

HTH,
ed

--
Magic Interface, Ltd.
440-498-3700


The last response was not correct. The O/S doesn't know how to start
Oracle processes on it's own. The ppid of the dedicated server
processes is the init process because Oracle pulls a little trick to
make that happen.

For remote connections (i.e. over the network) the dedicated server
process is actually spawned by the listener, and Oracle then makes the
init process into the parent of that dedicated server. If the ppid
(parent process id) remained the listener, you'd never be able to
shutdown the listener without killing all of your users. The init
process didn't start the server process because it doesn't even know
how to start an Oracle process.

For local connections (i.e. on the same box, on UNIX), the dedicated
server process is actually spawned by the client process. You can
easily see this becaue the ppid of the dedicated server process is the
client. If I remember correctly, Oracle doesn't make the server
process into a child of the init process because death of the client
means the server should die.

Corrections or comments are welcome...
Jul 19 '05 #5
"Michael J. Moore" <NO***********@comcast.net> wrote in message news:<UNrcb.425915$Oz4.221120@rwcrnsc54>...
Is it the listener process, or some other Oracle process. Also, on a UNIX
system, when you do "ps -ef" to see your processes, the PPID points back to
a process named "init". Why does the PPID not point to some other process
like, for example, the listener, or PMON, or whoever spawned it.
thanks,
Mike


The init process is the "initial" process that was started when the
UNIX system was booted. Everything comes after init. In UNIX, if a
process dies, then all of it's children die. If the listener was the
parent, then you wouldn't be able to bounce the listener without
killing all of the sessions. If PMON (or another background process)
was the parent of the dedicated servers, then it would have to respond
to all of the signals generated by those clients. It would get VERY
ugly from a performance perspective. The init process is the parent
because the listener MADE it be the parent. Pretty cool. Don't ask
me how they do it. They're smarter than me.
Jul 19 '05 #6
mi*********@yahoo.com (Mr. DB) wrote in message news:<40*************************@posting.google.c om>...
"Michael J. Moore" <NO***********@comcast.net> wrote in message news:<UNrcb.425915$Oz4.221120@rwcrnsc54>...
Is it the listener process, or some other Oracle process. Also, on a UNIX
system, when you do "ps -ef" to see your processes, the PPID points back to
a process named "init". Why does the PPID not point to some other process
like, for example, the listener, or PMON, or whoever spawned it.
thanks,
Mike


The init process is the "initial" process that was started when the
UNIX system was booted. Everything comes after init. In UNIX, if a
process dies, then all of it's children die. If the listener was the
parent, then you wouldn't be able to bounce the listener without
killing all of the sessions. If PMON (or another background process)
was the parent of the dedicated servers, then it would have to respond
to all of the signals generated by those clients. It would get VERY
ugly from a performance perspective. The init process is the parent
because the listener MADE it be the parent. Pretty cool. Don't ask
me how they do it. They're smarter than me.

Because they start it as a background process. From the UNIX prompt
you can perform the similar functions using the nohup command. And yes
I did leave this out of my other response. My oversight, I responded
too quickly without noting all the possibilities.

So the way they do it is actually pretty easy (a couple options during
the fork()/exec() processing).

(So much information, so hard to know how much the reader needs!)

Thanks for the assist mr DB.

Ed Prochak
Jul 19 '05 #7

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

5 posts views Thread by Paul Eden | last post: by
2 posts views Thread by Desmond | last post: by
6 posts views Thread by Michael J. Moore | last post: by
23 posts views Thread by =?GB2312?B?0rvK18qr?= | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.