You were brought to this page based on an internet search
and as a free service to Oracle DBAs.
The text below is an except from the book,
Oracle Performance Firefighting, written by
Craig Shallahamer of
OraPub, Inc.
Figures and tables are not included on this page, only their reference.
To order the book in either print or PDF form, click
here.
©2009, 2010 by Craig Shallahamer. This is copyrighted material.
PleaseOut of respect for those involved in the creation of the book and also for
their familes, we ask you to respect the copyright both in intent and deed. Thank you.
-------------------------------
Figure 5-15 is very similar to Figure 5-14, yet the difference is significant. Figure 5-15 shows Oracle in what is traditionally called a single-task architecture. The server and client processes are linked into a single large executable. These single task executables actually have the letters st appended to the standard names to distinguish them from their two-task relatives. Operating in a two-task architecture, the client and server process communicate via SQL*Net. With a single-task architecture, because both the client and server components are part of the same executable, they communicate using function calls. When heavy communication is required between the server and client processes, a single-task architecture could boost performance by 10% to 50%. This made operations like an import much faster. Profiling a session was very simple, as there was a single client/server process associated with every end user.
Figure 5-15. Combining an Oracle client and server process into a single executable. This single-task architecture has the advantage of the Oracle process communicating through program function calls instead of SQL*Net. Just as with a two-task architecture (Figure 5-14), the same user experience and database server capacity issues exist.
With its amazing marketing machine, in the early 1990s, Oracle introduced client/server computing. As shown in Figure 5-16, this allows the server and client processes to run on different machines while communicating via SQL*Net. For end-user computing, the client process typically resided on the user's PC. However, for batch processing, it is common for both the client and server processes to remain on the database server. I don't know if the Oracle architects planned for the client and server process separation, but regardless, Oracle's two-task architecture fit perfectly into this model and helped systems scale (not to mention Oracle's stock price). From a session profiling perspective, it was still a fairly simple task to associate an end user with both a client and server process.
©2009, 2010 by Craig Shallahamer. This is copyrighted material.
PleaseOut of respect for those involved in the creation of the book and also for
their familes, we ask you to respect the copyright both in intent and deed. Thank you.
|