This module introduced you to the theory behind using and configuring the Multi-Threaded Server, which was used as a supplement to the standard Oracle listener, which allowed for hundreds of concurrent Net connections from remote clients. A thorough understanding of the inner workings of MTS was critical when Oracle 8 was used to make connections between clients and servers.
In a shared server configuration, client user processes connect to a dispatcher.
A dispatcher can support multiple client connections concurrently. Each client connection is bound to a virtual circuit. A virtual circuit is a piece of shared memory used by the dispatcher for client database connection requests and replies. The dispatcher places a virtual circuit on a common queue when a request arrives. An idle shared server picks up the virtual circuit from the common queue, services the request, and relinquishes the virtual circuit before attempting to retrieve another virtual circuit from the common queue. This approach enables a small pool of server processes to serve a large number of clients. A significant advantage of shared server architecture over the dedicated server model is the reduction of system resources, enabling the support of an increased number of users. The shared server architecture requires Oracle Net Services. User processes targeting the shared server must connect through Oracle Net Services, even if they are on the same machine as the Oracle instance.
Having completed this module, you should be able to:
- Define types of Oracle listeners
- Describe how MTS differs from a dedicated listener
- Describe how the dedicated listener spawns connections
- Identify the components of MTS
- Describe how MTS handles incoming connections
- Define the elements of MTS
The next module takes a much more practical look at what you need to do to configure MTS.