I am trying to install Oracle 12c on a RHEL 6.4 system with 64GB of memory. When I try to enable automatic memory to 48GB, I get the error:
What do I need to change to allow Oracle to use more than 32189MB?
[INS – 35172] Target database memory (49897MB) exceeds available shared memory (32189MB) on the system.
/etc/sysctl.conf contains the following so I'm not sure why it won't allow me to use more than 32G of shared memory
# Controls the maximum shared segment size, in bytes
kernel.shmmax = 68719476736
# Controls the maximum shared segment size, in bytes
#kernel.shmmax = 68719476736
# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 16777216
#kernel.shmall = 1073741824
fs.file-max = 6815744
kernel.msgmni = 2878
kernel.sem = 250 32000 100 142
kernel.shmmni = 4096
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 3145728
net.ipv4.ip_local_port_range = 9000 65500
vm.min_free_kbytes = 51200
fs.file-max = 6815744
limits.conf contains the following:
oracle soft nproc 2047
oracle hard nproc 32768
oracle soft nofile 32768
oracle hard nofile 65536
Best Answer
MEMORY_TARGET needs /dev/shm filesystem with required size. By default /dev/shm size is half of the system memory. So you have to change line in
/etc/fstab
from:to something like:
df -h /dev/shm
will show you tmpfs size. To avoid reboot after editing/etc/fstab
you can do:But with such amount of memory I would go with ASMM (SGA_TARGET) and huge pages. Especially if you will have many clients connected. Overhead to manage 48GB of 4kB pages will be quite big.