Controlling Logon Storms
Oracle strongly recommends that you use connection pools. If you must handle many direct connections, then you can tune the maximum number of allowed connections to control logon storms.
Tuning the maximum number of connections requires root access to modify the operating system (OS) connection settings, and database administrator privileges to update the sqlnet.ora file.
Oracle Maximum Availability Architecture (MAA) best practices recommend the following manual tuning on servers that host Global Service Managers:
- Increase the
listen()syscall backlog at the OS level to increase the maximum number of connections a server application can set. You do this by changing thesomaxconnsetting to enable syscall to increase the number of connections that can be queued for acceptance on a listening socket (that is, the backlog queue foraccept()). For example, you can change thesomaxconnvalue from an existing value (such as 4096) to 8000.To apply the new value without restarting the server, run the following command as
root:echo 8000 > /proc/sys/net/core/somaxconnThis command redirects the standard output of the
echocommand to the/proc/sys/net/core/somaxconn, overwriting its current value. Changes made to/proc/sys/net/core/somaxconnare not persistent and will be lost after a restart unless you specifically configure them in system startup scripts or/etc/sysctl.conf. To keep this value after a system restart, add this line to
/etc/sysctl.conf:net.core.somaxconn=8000Increase
queuesizefor the Global Service Manager listener.To increase the
queuesizesetting, update thesqlnet.orafile in the Oracle home from which the listeners are running. For example, to update the quuesize setting to 8000, edit the file to change the sqlnet.ora entry forTCP.QUEUESIZE:TCP.QUEUESIZE=8000
Parent topic: Application Development Considerations