Although Oracle MTS has been deprecated since Oracle 9i, it is important to understand the role that MTS had prior to the release of Oracle 9i Shared Server. The Oracle listener is a server process that manages incoming SQL*Net and Net8 connections. Without an MTS configuration, the listener process spawns a dedicated server process to manage each database connection.
The following series of images illustrates how.
Unlike a dedicated connection, the shared server enables many clients to connect to the same server without the need for a dedicated server process for each client. Using the multi-threaded server enables you to minimize the memory and processing resources needed as the number of connections to the database increases. Here is what happens when the listener is started with MTS:
- The listener is started using the parameters in the listener.ora file.
- The DBA starts the Oracle database.
- The MTS dispatchers start up according to the MTS parameters in the init.ora file.
- Each dispatcher calls the listener using the protocol it is assigned, at the address defined in the
MTS_LISTEN_ADDRESS in the init.ora file. There may be more than one such address if multiple listeners are used.
The listener and the multi-threaded server are now ready for incoming connections. The listener and the database are now tied together in the sense that the listener must be running when the database is started. The same listener process can be defined as either MTS (if the MTS parameters are in the databases init.ora file) or non-MTS (if they are not present).
The next lesson takes a closer look at the components of MTS.