By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
449,312 Members | 1,791 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 449,312 IT Pros & Developers. It's quick & easy.

Who spawns a dedicated server process?

P: n/a
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
Share this Question
Share on Google+
6 Replies


P: n/a
"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

P: n/a
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

P: n/a
"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

P: n/a
"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

P: n/a
"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

P: n/a
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.