1 2 Previous Next 24 Replies Latest reply: Dec 13, 2012 11:41 AM by xerosaburu RSS

    "Oracle reads the parameter file during startup...what PART of Oracle?"

    xerosaburu
      I've been doing this for years, but I don't know the answer to this question.
        • 1. Re: "Oracle reads the parameter file during startup...what PART of Oracle?"
          EdStevens
          xerosaburu wrote:
          I've been doing this for years, but I don't know the answer to this question.
          What "part" would you think does it?

          I ask partly because I don't know what you mean by a "part" of oracle. That could mean a lot of things.

          What has your research led you to so far?
          • 2. Re: "Oracle reads the parameter file during startup...what PART of Oracle?"
            xerosaburu
            Oracle architecture is complex and often you read in the documentation that "Oracle" does this and "Oracle" does that, later you find out that a component of Oracle did this or did that and that these components had subcomponents all the way down the rabbit hole.

            I want to go down that rabbit hole on this.

            Edited by: xerosaburu on Dec 12, 2012 6:48 AM
            • 3. Re: "Oracle reads the parameter file during startup...what PART of Oracle?"
              tbrinkmann
              hmmm what do you really want to know ?

              oracle start:
              1. read spfile/pfile
              - create instance ( allocate memory, read where are the controlfiles etc )
              - create system processes....
              - create some temp views e.g v$instance
              2. read control files
              --> ( where are the datafiles ? )
              - attach the datafiles
              - create some temp views e.g v$datafiles
              .... open redolog files etc etc...
              3. read datafiles......
              - open the database

              *T                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
              • 4. Re: "Oracle reads the parameter file during startup...what PART of Oracle?"
                xerosaburu
                This isn't a question spawned by a desire to learn "how to", but "how does" at a deep level.

                One part of "how does" is knowing "who does".

                The response "Oracle reads" or "Oracle does" is incomplete and too superficial to answer the question I'm asking.

                That's like a person who's a citizen of a given country speaking of the "government" doing this or doing that when governance of any country is a complex thing. Is it the judicial branch?, the legislative branch, or the executive branch? If it's the legislative branch is it the Senate or the House of Representatives? If it was the House, was it the Speaker of the House?...

                This is what I'm after...

                Edited by: xerosaburu on Dec 12, 2012 7:36 AM
                • 5. Re: "Oracle reads the parameter file during startup...what PART of Oracle?"
                  6363
                  Which parts of Oracle do you have?
                  • 6. Re: "Oracle reads the parameter file during startup...what PART of Oracle?"
                    EdStevens
                    xerosaburu wrote:
                    Oracle architecture is complex and often you read in the documentation that "Oracle" does this and "Oracle" does that, later you find out that a component of Oracle did this or did that and that these components had subcomponents all the way down the rabbit hole.
                    I understand that. What is NOT apparent from you post is just what you consider a "part". A background process like dbwr, pmon, smon, etc? Or something else?
                    I want to go down that rabbit hole on this.

                    Edited by: xerosaburu on Dec 12, 2012 6:48 AM
                    • 8. Re: "Oracle reads the parameter file during startup...what PART of Oracle?"
                      xerosaburu
                      Before the pmon starts, something else has to happen to boot the whole thing.

                      I think it's the oraspawn.dll in windows, but I'm not sure what "things" exist to get things going in linux.
                      • 9. Re: "Oracle reads the parameter file during startup...what PART of Oracle?"
                        JustinCave
                        But, back to the point Ed has made a couple of times, it is very difficult to answer a question about internal technical details when you're using a very non-technical term like "part". Ed already asked if you meant "background process" when you said "part". In your most recent post you're talking about a DLL so maybe you mean "shared library" when you say "part". Since a DLL or other shared library is inherently non-executable and is generally used by many different processes, it seems odd that you would consider that a "part" but maybe you do.

                        Justin
                        • 10. Re: "Oracle reads the parameter file during startup...what PART of Oracle?"
                          6363
                          xerosaburu wrote:
                          Before the pmon starts, something else has to happen to boot the whole thing.

                          I think it's the oraspawn.dll in windows, but I'm not sure what "things" exist to get things going in linux.
                          Sounds like you are talking about

                          http://docs.oracle.com/cd/E11882_01/server.112/e25513/bgprocesses.htm#BBBDIIHC
                          PSP0  Process Spawner   Spawns Oracle background processes 
                                Process           after initial instance startup
                          However I don't know where that gets you or whether your next question will be What spawns the process spawner process?
                          • 11. Re: "Oracle reads the parameter file during startup...what PART of Oracle?"
                            xerosaburu
                            We know that the background processes can't start until the parameter file is read, so the initial post was asking about what "part" (using the term "part" as a variable) or "parts" precede in the logical chain.
                            • 12. Re: "Oracle reads the parameter file during startup...what PART of Oracle?"
                              EdStevens
                              xerosaburu wrote:
                              We know that the background processes can't start until the parameter file is read, so the initial post was asking about what "part" (using the term "part" as a variable) or "parts" precede in the logical chain.
                              I'd guess it is probably built into the kernel, or very close to it, in the code that implements the 'startup' command.
                              • 13. Re: "Oracle reads the parameter file during startup...what PART of Oracle?"
                                xerosaburu
                                I wish I could get this other VM loaded so I could trace how it performs on Linux, but on Windows it appears from doing a capture from a sql prompt that sqplus.exe reads the registry getting information on the whereabouts of various components of the oracle installation, then the preexistent, but quiesced oracle.exe service wakes up for a moment, checks the registry itself, then sqlplus.exe loads the oraspawn.dll and itself appears to boot the process, whereafter the oracle.exe itself reads the parameter file, and then creates the memory structures and background processes.

                                I just want to get this all clear in my head and I don't want to wander off with a partially correct notion. Which is to say, I know I'll continue to be ignorant of what's really happening at some level, but I'd at least like to know what "boxes" my ignorance is in.
                                • 14. Re: "Oracle reads the parameter file during startup...what PART of Oracle?"
                                  orafad
                                  xerosaburu wrote:
                                  ... sqlplus.exe loads the oraspawn.dll and itself appears to boot the process, whereafter the oracle.exe itself reads the parameter file, and then creates the memory structures and background processes.
                                  I would probably guess that this means sqlplus "bequeaths" a server process, which on win platform is a thread of oracle.exe, which, when acting on startup command, reads the spfile and creates the pmon process which continues to start the instance (remaining background processes/threads and memory areas).

                                  The Oracle processes architecture overview in Concepts guide should be "good enough". Digging up too many details would probably make it harder to get a firm understanding of the basic concepts. And all those (often very) interesting, little details are seldom that useful, in contrast with the "big picture" and thoroughly learning the Concepts.

                                  Edited by: orafad on Dec 12, 2012 11:25 PM
                                  1 2 Previous Next