Oracle Database 11g R2 requirements. RHEL 6

Kernel Parameters:

Parameter Minimum Value File
semmsl 250 /proc/sys/kernel/sem
semopm 100
semmni 128
semm 32000
shmall 2097152 /proc/sys/kernel/shmall
shmmax Minimum: 536870912;

Maximum: A value that is 1 byte less than the physical memory

Recommended: More than half the physical memory

See My Oracle Support Note 567506.1 for additional information about configuring shmmax.

/proc/sys/kernel/shmmax
shmmni 4096 /proc/sys/kernel/shmmni
filemax 6815744 /proc/sys/fs/file-max
ip_local_port_range Minimum: 9000;

Maximum: 65500

/proc/sys/net/ipv4/ip_local_port_range
rmem_default 262144 /proc/sys/net/core/rmem_default
rmem_max 4194304 /proc/sys/net/core/rmem_max
wmem_default 262144 /proc/sys/net/core/wmem_default
wmem_max 1048576 /proc/sys/net/core/wmem_max
aio-max-nr 1048576;

Note: This value limits concurrent outstanding requests and should be set to avoid I/O subsystem failures.

/proc/sys/fs/aio-max-nr
Make a note of the current values and identify any values that you must change.
Parameter Command
semmsl, semmns, semopm, and semmni # /sbin/sysctl -a | grep sem This command displays the value of the semaphore parameters in the order listed.
shmall, shmmax, and shmmni # /sbin/sysctl -a | grep shm
file-max # /sbin/sysctl -a | grep file-max
ip_local_port_range # /sbin/sysctl -a | grep ip_local_port_range
rmem_default # /sbin/sysctl -a | grep rmem_default
rmem_max # /sbin/sysctl -a | grep rmem_max
wmem_default # /sbin/sysctl -a | grep wmem_default
wmem_max # /sbin/sysctl -a | grep wmem_max

/etc/sysctl.conf:
kernel.shmmax = 4294967295
# Maximum amount of shared memory (in pages) that can be used at one time on the system and should be at least ceil (SHMMAX/PAGE_SIZE)
kernel.shmall = 1048575
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
fs.file-max = 6815744

/sbin/sysctl -p

/sbin/sysctl -a

Resource Limit Recommended Ranges:

Resource Shell Limit Resource Soft Limit Hard Limit
Open file descriptors nofile at least 1024 at least 65536
Number of processes available to a single user nproc at least 2047 at least 16384
Size of the stack segment of the process stack at least 10240 KB at least 10240 KB, and at most 32768 KB

Check the soft and hard limits for the file descriptor setting. Ensure that the result is in the recommended range. For example:
$ ulimit -Sn
4096
$ ulimit -Hn
65536

Check the soft and hard limits for the number of processes available to a user. Ensure that the result is in the recommended range. For example:
$ ulimit -Su
2047
$ ulimit -Hu
16384

Check the soft limit for the stack setting. Ensure that the result is in the recommended range. For example:
$ ulimit -Ss
10240
$ ulimit -Hs
32768

/etc/security/limits.conf:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240

Add the following line to the /etc/pam.d/login file, if it does not already exist:
session required pam_limits.so

For the Bourne, Bash, or Korn shell, add the following lines to the /etc/profile file:

if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
  else
    ulimit -u 16384 -n 65536
  fi
fi

For the C shell (csh or tcsh), add the following lines to the /etc/csh.login file:

if ( $USER == "oracle" ) then 
  limit maxproc 16384
  limit descriptors 65536
endif

Package Requirements:

binutils-2.20.51.0.2
compat-libcap1-1.10
compat-libcap1-1.10 (32-bit)
compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3 (32 bit)
elfutils-libelf-0.148
elfutils-libelf-devel-0.148
gcc-4.4.4
gcc-c++-4.4.4
glibc-2.12-1
glibc-2.12-1 (32 bit)
glibc-common-2.12
glibc-devel-2.12
glibc-devel-2.12 (32 bit)
glibc-headers-2.12
ksh-20100621
libaio-0.3.107
libaio-0.3.107 (32 bit)
libaio-devel-0.3.107
libaio-devel-0.3.107 (32 bit)
libgcc-4.4.4
libgcc-4.4.4 (32 bit)
libstdc++-4.4.4
libstdc++-4.4.4 (32 bit)
libstdc++-devel-4.4.4
libstdc++-devel-4.4.4 (32 bit)
make-3.81
numactl-devel-2.0.3
sysstat-9.0.4
unixODBC-2.2.14
unixODBC-2.2.14 (32 bit)
unixODBC-devel-2.2.14
unixODBC-devel-2.2.14 (32 bit)

yum install xterm binutils-2*x86_64* compat-libcap1*x86_64* compat-libcap1*i686* compat-libstdc++-33*x86_64* compat-libstdc++-33*i686* elfutils-libelf-0*x86_64* elfutils-libelf-devel-0*x86_64* gcc-4*x86_64* gcc-c++-4*x86_64* glibc-2*x86_64* glibc-2*i686* glibc-devel-2*x86_64* glibc-devel-2*i686* glibc-common-2*x86_64* glibc-headers*x86_64* ksh-*x86_64* libaio-0*x86_64* libaio-0*i686* libaio-devel-0*x86_64* libaio-devel-0*i686* libgcc-4*x86_64* libgcc-4*i686* libstdc++-4*x86_64* libstdc++-4*i686* libstdc++-devel-4*x86_64* libstdc++-devel-4*i686* make-3*x86_64* numactl-devel-2*x86_64* sysstat-9*x86_64* xorg-x11-utils

yum install unixODBC*x86_64* unixODBC*i686* unixODBC-devel*x86_64* unixODBC-devel*i686*

Memory

The minimum required RAM for Oracle Database 11g Release 2 running on the Linux platform is 1 GB (although 2 GB or more of RAM is highly recommended).

Use the following command to check the amount of installed RAM on the system:

[root@testnode1 ~]# cat /proc/meminfo | grep MemTotal
MemTotal:        4020892 kB

If the size of the installed RAM is less than the required size, then you must install more memory before continuing.

Swap Space

The following table describes the relationship between installed RAM and the configured swap space recommendation.

Available RAM Swap Space Required
Between 1 GB and 2 GB 1.5 times the size of RAM
Between 2 GB and 16 GB Equal to the size of RAM
More than 16 GB 16 GB

Use the following command to determine the size of the configured swap space:

[root@testnode1 ~]# grep SwapTotal /proc/meminfo
SwapTotal:       6258680 kB

 

Leave a comment

You must be logged in to post a comment.