1.4.4 Maximum Number of Database Processes
This topic describes the maximum number of database processes on each Exadata database server or virtual machine guest.
The tables in this topic contain the maximum number of database processes supported on each Exadata database server.
In all cases, the best practice is to keep the process count below the specified values. Also, if a subset of the database workload uses parallel queries, the effective limit will be between the values in the "Maximum Number of Processes with No Parallel Queries" and "Maximum Number of Processes with All Running Parallel Queries" columns.
The following table shows the maximum number of database processes supported on each physical Exadata database server in a bare-metal system configuration.
Table 1-1 Maximum Number of Database Processes on a Physical Database Server
Machine Type | RDMA Network Fabric Type | Maximum Number of Processes with No Parallel Queries | Maximum Number of Processes with All Running Parallel Queries |
---|---|---|---|
2-socket |
RoCE Network Fabric |
25,000 |
16,000 |
8-socket |
RoCE Network Fabric |
64,000 |
44,000 |
2-socket |
InfiniBand Network Fabric |
16,000 |
14,000 |
8-socket |
InfiniBand Network Fabric |
64,000 |
44,000 |
The following table shows the maximum number of database processes supported on each virtual machine (VM) guest (Oracle VM DomU or KVM guest) in a virtualized system configuration.
Table 1-2 Maximum Number of Database Processes on a Virtual Machine Guest
Machine Type | RDMA Network Fabric Type | Maximum Number of Processes with No Parallel Queries | Maximum Number of Processes with All Running Parallel Queries |
---|---|---|---|
2-socket |
RoCE Network Fabric without Exadata Secure RDMA Fabric Isolation configured |
25,000 |
16,000 |
2-socket |
RoCE Network Fabric with Exadata Secure RDMA Fabric Isolation configured |
50,000 |
32,000 |
2-socket |
InfiniBand Network Fabric |
16,000 |
14,000 |
Use the following best practices to optimize resource utilization while supporting a high process count:
-
Establish database connections using a set of Oracle Net listeners instead of using local bequeath connections.
-
On each database server, the number of Oracle Net listeners should be a multiple of the number of server CPU sockets. For example, on an 8-socket database server, you should configure at least eight listeners.
-
Evenly spread the Oracle Net listeners across the available CPU sockets.
For example, assuming the
listener.ora
file is configured correctly for eight listeners (namedLISTENER0
-LISTENER7
), you can use the following script to start eight listeners on an 8-socket server with each listener bound to a different CPU socket:#!/bin/bash export ORACLE_HOME=/u01/app/oracle/product/19.0.0.0/dbhome_1 for socket in `seq 0 7` do numactl --cpunodebind=${socket} $ORACLE_HOME/bin/lsnrctl start LISTENER${socket} done
-
Use Oracle Net connection rate limiting to control connection storms and enhance system stability.
To avoid excessive client connection timeouts and server-side errors, limit the connection rate on each database server to 400 connections per second. In other words, the sum of the
rate_limit
control parameter should not exceed 400 across all Oracle Net listeners on each database server.See Connection Rate Limiter Parameters in Oracle Database Net Services Reference.
-
Use the following recommended Oracle Net listener control parameter settings to avoid Oracle Net connection errors, such as TNS-12514.
-
MAX_ALL_CONNECTIONS_listener_name=4096
-
MAX_REG_CONNECTIONS_listener_name=2048
See Control Parameters in Oracle Database Net Services Reference.
-
Parent topic: Oracle Exadata Rack Limits and Restrictions