9.2.6 Increased Maximum Number of Database Processes
Table 9-1 shows the maximum number of database processes supported per database node. These numbers are higher than in previous releases. The best practice is to keep the process count below these values. If a subset of your workload is running parallel queries, the maximum database process count will be between the values in the "Maximum Number of Processes with No Parallel Queries" column and the "Maximum Number of Processes with All Running Parallel Queries" column.
Table 9-1 Maximum Number of Database Processes Per Node
Machine Type | InfiniBand Bonding Type | Maximum Number of Processes with No Parallel Queries | Maximum Number of Processes with All Running Parallel Queries |
---|---|---|---|
8-socket (X2-8, X3-8) |
Active passive |
28,500 |
25,000 |
8-socket (X4-8, X5-8) |
Active bonding |
64,000 |
44,000 |
2-socket (X2-2, X3-2) |
Active passive |
12,500 |
10,000 |
2-socket (X4-2, X5-2, X6-2) |
Active bonding |
16,000 |
14,000 |
Table 9-2 shows the maximum number of database processes supported per Oracle VM user domain. These numbers are higher than in previous releases. The best practice is to keep the process count below these values. If a subset of your workload is running parallel queries, the maximum database process count will be between the "Maximum Number of Processes with No Parallel Queries" column and the "Maximum Number of Processes with All Running Parallel Queries" column.
Table 9-2 Maximum Number of Database Processes Per Oracle VM User Domain
Machine Type | InfiniBand Bonding Type | Maximum Number of Processes with No Parallel Queries | Maximum Number of Processes with All Running Parallel Queries |
---|---|---|---|
2-socket (X2-2, X3-2) |
Active passive |
11,500 |
8,000 |
2-socket (X4-2, X5-2, X6-2) |
Active bonding |
23,000 |
14,000 |
The machines are configured as follows:
-
On an 8-socket database node with active bonding InfiniBand configurations (X4-8 and X5-8), there are 8 IP addresses across 4 InfiniBand cards (8 InfiniBand ports).
-
On an 8-socket database node with active-passive InfiniBand configurations (X2-8 and X3-8), there are 4 IP addresses across 4 InfiniBand cards (8 InfiniBand ports).
-
On a 2-socket database node with active bonding InfiniBand configurations (X4-2, X5-2, and X6-2), there are 2 IP addresses on 1 InfiniBand card (2 InfiniBand ports).
-
On a 2-socket database node with active-passive InfiniBand configurations (X2-2 and X3-2), there is 1 IP address on 1 InfiniBand card (2 InfiniBand ports).
Up to 50,000 RDS sockets are allocated per InfiniBand IP address for database usage. Each IO-capable database process will consume RDS sockets across IPs with even load balancing.
Starting with Exadata 12.1.2.3.0, there is no connection limit on the cell side.
In addition to the higher process count supported by the Exadata image and the Oracle kernel, the following related products have also been enhanced:
-
Oracle Exadata Deployment Assistant automatically configures higher limits in
Grid_home/crs/install/s_crsconfig_nodenameenv.txt
at deployment time. -
Exadata Patch Manager (
patchmgr
anddbnodeupdate.sh
) automatically configures higher limits inGrid_home/crs/install/s_crsconfig_nodenameenv.txt
during database node upgrades.
The following best practices should be followed to ensure optimal resource utilization at high process count:
-
Application-initiated Oracle foregrounds should be established through a set of Oracle listeners running on the Exadata database nodes instead of using local bequeath connections.
-
The number of listeners should be at least as high as the number of database node CPU sockets, and every database node CPU socket should run the same number of listeners. For example, on an Oracle Exadata X5-8 database node, eight listeners could be configured, one per database node CPU socket.
-
Listeners should spawn Oracle processes evenly across database node CPU sockets. This can be done by specifying the socket they will run on at startup time. For example, assuming the
listener.ora
file is configured correctly for listeners 0 through 7, the following script could be used to spawn eight listeners on an X5-8 database node, each on a different socket:#!/bin/bash export ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/dbhome_1 for socket in `seq 0 7` do numactl --cpunodebind=${socket} $ORACLE_HOME/bin/lsnrctl start LISTENER${socket} done
-
Listener connection rate throttling should be used to control login storms and provide system stability at high process counts.
-
The total number of connections established per second, in other words, the sum of
rate_limit
for all listeners, should not be more than 400 to avoid excessive client connection timeouts and server-side errors.
Minimum software required:
-
Oracle Exadata System Software release 12.1.2.3.0
-
Oracle Database 12c Release 1 (12.1) release 12.1.0.2.160119 with these patches: 22711561, 22233968, and 22609314