Oracle creates a server process to process a request for a user process that is connected to an instance. The server process can be a dedicated server process, at which time the server process is only served; if the database server is configured as a shared server, the server process can be a shared server process, at which time the server process can serve multiple User process. Typically, it is best to connect by the scheduler and use the shared server process. Because the shared server process maintains the minimum number of processes required to run the instance, the shared server process is more efficient. However, in the following cases, users and administrators need to connect directly to instances directly: submit batch jobs to back up, restore or restore databases using Revovery Manager (Recovery Manager)
When the Oracle database is configured as a shared server, if a dedicated server connection is required, the user must connect to the network service name configured as a private server. The shared server system eliminates the need to have a dedicated server process for each connection. In the configuration of the shared server, the customer's user process is connected to the scheduler. The scheduler can support multiple concurrent client connections. Each customer connection is connected to a virtual loop. The virtual circuit is a shared memory that uses it when the request and reply of the customer database connection. When the request arrives, the scheduler places the virtual loop into a public queue. The idle shared server will pick up the virtual loop from the public queue, run the request and give up this virtual loop before re-get another virtual loop in the public queue. A main advantage of the shared server architecture is a major advantage of the shared server architecture that supports the number of users that have grown with less system resource.
How to configure the Oracle database as a shared or dedicated server, as well as modify the relevant parameters, please refer to the network data.