Who spawns a dedicated server process?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Michael J. Moore

    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


  • Ed prochak

    #2
    Re: Who spawns a dedicated server process?

    "Michael J. Moore" <NOhicamelSPAM@ comcast.netwrot e in message news:<UNrcb.425 915$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

    Comment

    • Michael J. Moore

      #3
      Re: Who spawns a dedicated server process?

      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.prochak@mag icinterface.com wrote in message
      news:4b5394b2.0 309250457.7c910 5c6@posting.goo gle.com...
      "Michael J. Moore" <NOhicamelSPAM@ comcast.netwrot e in message
      news:<UNrcb.425 915$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

      Comment

      • Mr. DB

        #4
        Re: Who spawns a dedicated server process?

        "Michael J. Moore" <NOhicamelSPAM@ comcast.netwrot e in message news:<ypMcb.432 226$cF.134811@r wcrnsc53>...
        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.prochak@mag icinterface.com wrote in message
        news:4b5394b2.0 309250457.7c910 5c6@posting.goo gle.com...
        "Michael J. Moore" <NOhicamelSPAM@ comcast.netwrot e in message
        news:<UNrcb.425 915$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...

        Comment

        • Mr. DB

          #5
          Re: Who spawns a dedicated server process?

          "Michael J. Moore" <NOhicamelSPAM@ comcast.netwrot e in message news:<ypMcb.432 226$cF.134811@r wcrnsc53>...
          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.prochak@mag icinterface.com wrote in message
          news:4b5394b2.0 309250457.7c910 5c6@posting.goo gle.com...
          "Michael J. Moore" <NOhicamelSPAM@ comcast.netwrot e in message
          news:<UNrcb.425 915$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...

          Comment

          • Mr. DB

            #6
            Re: Who spawns a dedicated server process?

            "Michael J. Moore" <NOhicamelSPAM@ comcast.netwrot e in message news:<UNrcb.425 915$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.

            Comment

            • Ed prochak

              #7
              Re: Who spawns a dedicated server process?

              misterdb123@yah oo.com (Mr. DB) wrote in message news:<403d6add. 0309271727.7eb9 9fc@posting.goo gle.com>...
              "Michael J. Moore" <NOhicamelSPAM@ comcast.netwrot e in message news:<UNrcb.425 915$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

              Comment

              Working...