Dedicated server
A client connects to a server process
Shared Server
Multiple Clients connect to the same server process. The server has a Process Scheduler for management.
By default, Oracle uses the dedicated server mode. Oracle supports both the Shared Server and dedicated server mode. You can specify a session to use the dedicated server, and another session to use the Shared Server.
MTS has the following Disadvantages:
1) Shared ServerCodeThe path is longer than the dedicated server, so it is inherently slower than the dedicated server.
2) there is a possibility of a human deadlock because it is serial. As long as a connection is blocked, all users on the server process will be blocked and the deadlock is very likely.
3) There is a possibility of exclusive transactions, because if a session's transaction runs for too long, it exclusively shares resources, other users can only wait, while a dedicated server, each client is a session.
4) The Shared Server Mode limits some database features. For example, the instance cannot be started or closed independently, the media cannot be restored, and the log miner cannot be used, SQL _trace does not make sense (because it is shared rather than the current session ).
The memory reduced by MTS is actually the memory required by each user to connect to the operating system process in dedicated server mode. However, it uses the large_pool of SGA to allocate UGA and remove the east wall to complement the west wall, the reduced memory is very small.
If user sessions are frequently connected and disconnected, the overhead of database Process Creation and deletion will be very high. In this case, it is best to use the Shared Server mode (otherwise, the connection pool technology should be used ).
It is of little significance to use the Shared Server mode if a client is connected for Life (within the session lifecycle. Most of the time, a session is connected to a server process, and server processes cannot be shared.