In this post I’d like to present five best practices/tips for setting dispatchers for database shared connections:
1. Set local_listener on both instances of the database
alter system set LOCAL_LISTENER=”(address=(
Ref: Shared Server: Dispatchers Are Not Registered With Listener (Doc ID 465881.1)
2. Dispatchers parameter should be set to utilize the VIP name of the host
alter system set dispatchers='(address=(
Ref: How To Configure Shared Server Dispatchers For RAC Environment (Doc ID 578524.1)
3. Set dispatchers count appropriately considering the number of sessions expected to connect to the database
A general rule of thumb is that one dispatcher can handle 50 shared server connections with minimal performance impact.
Ref: Shared Server Only: TNS-12518, TNS-12564 and TNS-12602 Errors at Connect Time (Doc ID 1539104.1)
4. You can use arguments with the dispatchers parameter for closer control of how the shared server sessions are used
SESSIONS: Determines the max sessions allowed for each dispatcher.
CONNECTIONS: The maximum number of network connections to allow for each dispatcher.
5. Set shared_servers parameter to control the total number of shared servers spawned by the database
shared_servers set to 1 –> This will enable shared server sessions on the database.
max_shared_servers –> Specifies the maximum number of shared servers that can run simultaneously.
shared_server_sessions –> Specifies the total number of shared server user sessions that can run simultaneously. Setting this parameter enables to reserve user sessions for dedicated servers.
Ref: Automatic Shared Server Configuration (Doc ID 265931.1)
I hope this information is helpful. If you have any questions or thoughts, please leave them in the comments. See you next post!