Network Config   «Prev 

Architecture of MTS Multi-threaded Server has been replaced by Oracle Shared Server as of Oracle 9i

Question: What is the difference in Architecture between
  1. Oracle 8i (MTS) mutli-threaded server and
  2. Oracle 9i Shared Server

The Oracle multithreaded server (MTS, later renamed "shared servers") was developed in the days of Oracle7 when
  1. RAM was expensive and
  2. RAM region sizes were severely limited by 32-bit technology.
Nevertheless, the MTS is still needed for Java connections and shared_servers=1 is default because internal Java (and others) require a shared server to access the database.
Oracle shared servers are also inappropriate for ERP packages that spawn and hold database connections within the application server layer.
There are also limitations to using the MTS. The Oracle 10g documentation indicates that session migration for BFILE datatypes in shared server (multithreaded server) mode is not supported.

MTS architecture

MTS architecture
MTS Architecture (Legacy Diagram)

Location 1 Application requests an Oracle connection.
Location 2 MTS dispatcher places an entry in the Oracle request queue.
Location 3 The connect request is serviced by Oracle.
Location 4 The request interacts with the Oracle database.
Location 5 The output from the request is placed in the response queue.
Location 6 The dispatcher reads the response queue.
Location 7 The dispatcher sends it back to the client.