Multi-threaded server (MTS) is Oracle’s answer to the problem of supporting large numbers of client connections to a database instance or to a group of database instances (when Oracle Parallel Server is being used). Rather than create a dedicated server process for each client connection, MTS allows many client connections to share a single server process.
Multi-threaded server is not something you should implement just because it exists. MTS has a specific purpose and, like any other feature, it comes with a set of trade-offs that you need to consider before deciding to use it.
Organizations over the years have greatly increased the number of users connecting to their databases. Using the traditional dedicated server model of connecting, each client user is given a dedicated process that runs on the database server. These dedicated processes require memory, and, as the number of users increases, the demand for memory increases linearly. It also takes time to create and delete these dedicated server processes. If you have a lot of churn—in other words, if clients are constantly connecting and disconnecting throughout the day—a good percentage of your server’s CPU resources will end up being dedicated to creating and deleting dedicated server processes. These are the two issues that MTS was designed to solve.
In many environments, especially online transaction environments, users spend much of their time reading ...