This appendix provides instructions for how to complete configuration tasks manually that Cluster Verification Utility (CVU) and Oracle Universal Installer normally complete during installation. Use this appendix as a guide if you cannot use the fixup script.
This appendix contains the following information:
This section contains the following topics:
Note:
The parameter and shell limit values shown in this section are recommended values only. For production database systems, Oracle recommends that you tune these values to optimize the performance of the system. See your operating system documentation for more information about tuning kernel parameters.Oracle recommends that you set shell limits and system configuration parameters as described in this section.
For AIX, it is the ulimit
settings that determine process memory related resource limits. Verify that the shell limits displayed in the following table are set to the values shown:
Shell Limit (As Shown in smit) | Recommended Value |
---|---|
Soft File Descriptors | at least 1024 KB |
Hard File Descriptors | at least 65536 KB |
Soft Maxproc | at least 2047 KB |
Hard Maxproc | at least 16384 KB |
Soft STACK size | at least 10240 KB |
Hard STACK size | at least 10240 KB; at most 32768 KB |
Soft FILE size | -1 (Unlimited) |
Soft CPU time | -1 (Unlimited)
Note: This is the default value. |
Soft DATA segment | -1 (Unlimited) |
Soft Real Memory size | -1 (Unlimited) |
Processes (per user) | -1 (Unlimited)
Note: This limit is available only in AIX 6.1 or later. Refer to Configuring System Configuration Parameters for information on configuration of processes per user limits. |
To display the current value specified for these shell limits, and to change them if necessary perform the following steps:
Enter the following command:
# smit chuser
In the User NAME field, enter the user name of the Oracle software owner, for example oracle
.
Scroll down the list and verify that the value shown for the soft limits listed in the previous table is -1.
If necessary, edit the existing value. To edit the values, you can use the smit
utility. However, to set the value of Soft Real Memory size
, you must edit the file /etc/security/limits
. If you have permissions to run smit
utility, then you automatically have the permissions to edit the limits
file.
When you have finished making changes, press F10 to exit.
If you cannot use the Fixup scripts, then verify that the kernel parameters shown in the following table are set to values greater than or equal to the minimum value shown. If the current value for any parameter is greater than the value listed in this table, then the Fixup scripts do not change the value of that parameter.
Parameter | Minimum Value |
---|---|
maxuprocs |
2048 |
ncargs |
128 |
The following procedure describes how to verify and set the values manually.
To verify that the maximum number of processes allowed per user is set to 2048 or greater, use the following steps:
Note:
For production systems, this value should be at least 128 plus the sum of thePROCESSES
and PARALLEL_MAX_SERVERS
initialization parameters for each database running on the system.Enter the following command:
# smit chgsys
Verify that the value shown for Maximum number of PROCESSES allowed per user is greater than or equal to 2048.
If necessary, edit the existing value.
When you have finished making changes, press F10 to exit.
To verify that long commands can be executed from shell, use the following steps:
Note:
Oracle recommends that you set thencargs
system attribute to a value greater than or equal to 128. The ncargs
attribute determines the maximum number of values that can be passed as command line arguments.Enter the following command:
# smit chgsys
Verify that the value shown for ARG/ENV list size in 4K byte blocks is greater than or equal to 128.
If necessary, edit the existing value.
When you have finished making changes, press F10 to exit.
On AIX 6 and AIX 7, the Asynchronous Input Output (AIO) device drivers are enabled by default. For both AIX 6 and AIX 7, increase the number of aioserver
processes from the default value. The recommended value for aio_maxreqs
is 64k (65536
). Confirm this value for both AIX 6 and AIX 7.
Confirm the aio_maxreqs
value using the following procedure:
# ioo –o aio_maxreqs aio_maxreqs = 65536
When performing an asynchronous I/O to a file system, each asynchronous I/O operation is tied to an asynchronous I/O server. Thus, the number of asynchronous I/O servers limits the number of concurrent asynchronous I/O operations in the system.
The initial number of servers that are started during a system restart is determined by the aio_minservers
parameter. As concurrent asynchronous I/O operations occur, additional asynchronous I/O servers are started, up to a maximum of the value set in the aio_maxservers
parameter.
In general, to set the number of asynchronous I/O servers, complete the following procedure:
Adjust the initial value of aio_maxservers
to 10 times the number of logical disks divided by the number of CPUs that are to be used concurrently but no more than 80.
Monitor the performance effects on the system during periods of high I/O activity. If all AIO server processes are started, then increase the aio_maxservers
value. Also, continue to monitor the system performance during peak I/O activity to determine if there was a benefit from the additional AIO servers. Too many asynchronous I/O servers increase memory and processor overload of additional processes, but this disadvantage is small. See your operating system vendor documentation for information about tuning AIO parameters
To monitor the number of AIO server processes that have started, enter the following:
# ps -ek|grep -v grep|grep –v posix_aioserver|grep -c aioserver
See Also:
"Running the rootpre.sh Script"If you do not use a Fixup script or CVU to set ephemeral ports, then use NDD to ensure that the kernel TCP/IP ephemeral port range is broad enough to provide enough ephemeral ports for the anticipated server workload. Ensure that the lower range is set to at least 9000 or higher, to avoid Well Known ports, and to avoid ports in the Registered Ports range commonly used by Oracle and other server ports. Set the port range high enough to avoid reserved ports for any applications you may intend to use. If the lower value of the range you have is greater than 9000, and the range is large enough for your anticipated workload, then you can ignore OUI warnings regarding the ephemeral port range.
Use the following commands to check your current range for ephemeral ports:
# /usr/sbin/no -a | fgrep ephemeral tcp_ephemeral_low = 32768 tcp_ephemeral_high = 65500 udp_ephemeral_low = 32768 udp_ephemeral_high = 65500
In the preceding example, the TCP and UDP ephemeral ports are set to the default range (32768-65536).
If you expect your workload to require a high number of ephemeral ports, such as high node counts or heavy use of Parallel Query, then update the UDP and TCP ephemeral port range to a broader range. For example:
# /usr/sbin/no -p -o tcp_ephemeral_low=9000 -o tcp_ephemeral_high=65500 # /usr/sbin/no -p -o udp_ephemeral_low=9000 -o udp_ephemeral_high=65500
See Also:
"Setting TCP Network Protocol Buffer for Direct NFS Client" if you use Direct NFS Client