This article explains configuration of oracle Database 10g as shared server. Before reading this article you must have concept of Oracle shared server and dedicated server architecture. Visit following link to revive shared server and dedicated server architecture.
http://exploreoracle.com/2009/07/17/oracle-shared-server-and-oracle-dedicated-server-architecture/
Configuration of shared server involves only few steps. Oracle database 10g has pre-configured setting to enable shared server. Shared server can be configured by setting values for few initialization parameters at run time. These parameters can also be initialized in initialization parameter file. Following section discusses these parameters in detail.
SHARED_SERVERS Initialization Parameter
SHARED_SERVERS is the only parameter necessary to enable a shared server. Its value specifies that how many shared server are to be started.
Use following SQL statement to enable shared server.
Alter System Set SHARED_SERVERS = 5;
This command will start five shared servers, oracle database will also start a dispatcher process. Remember we did not configure any dispatcher. Oracle database will create dispatcher on its own.
To configure Shared server at database startup, use following setting in initialization parameter file
SHARED_SERVERS=5;
You can query V$SHARED_SERVER view to confirm changes.
MAX_SHARED_SERVERS Initialization Parameter
Oracle database keeps number of shared servers equal to SHARED_SERVERS parameter value. So SHARED_SERVER defines lower limit of shared server processes. PMON starts as many Shared servers as needed. But you can restrict upper limit by using MAX_SHARED_SERVERS.
For example, use following setting in parameter file to restrict maximum shared Server to 10;
MAX_SHARED_SERVERS= 10;
SHARED_SERVER_SESSIONS Initialization Parameter
Use this parameter to limit maximum concurrent shares server sessions. Value of this parameter should be less than SESSION initialization parameter. You may use this parameter to make sure that resources are always available for few dedicated server sessions.
DISPATCHERS Initialization Parameter
DISPATCHERS parameter is used to create dispatcher processes. For example, use following setting in parameter file to create Dispatcher.
Use following setting to create 3 dispatchers
DISPATCHERS=”(PROTOCOL=TCP)(DISPATCHERS=3)”
Query V$DISPATCHER view to find out details about currently running dispatchers.
Client Side Setting for Shared Server
When oracle database has been configured as Shares server, by default all connection will be entertained by Shared Server. Net service on client can be modified to use a shared Server or Dedicated server. Use SERVER=SHARED or SERVER=DEDICATED
in connect_data section. As shown in example below
Market=
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=tcp)(HOST=market-server)(PORT=1521))
(CONNECT_DATA=
(SERVICE_NAME=market.com)
(SERVER=dedicated)))
You can query V$SESSION view to confirm Dedicated or Shared servers sessions.
This article explained quick configuration steps, Use following link to explore more details about oracle Shared Server
http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/manproc.htm