Estou tentando instalar o Oracle 12c em um sistema RHEL 6.4 com 64 GB de memória. Quando tento ativar a memória automática para 48 GB, recebo o erro:
O que preciso mudar para permitir que o Oracle use mais de 32189 MB?
[INS - 35172] A memória do banco de dados de destino (49897 MB) excede a memória compartilhada disponível (32189 MB) no sistema.
/etc/sysctl.conf contém o seguinte, então não sei por que não me permite usar mais de 32 G de memória compartilhada
# 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
limit.conf contém o seguinte:
oracle soft nproc 2047
oracle hard nproc 32768
oracle soft nofile 32768
oracle hard nofile 65536
MEMORY_TARGET precisa do sistema de arquivos /dev/shm com o tamanho necessário. Por padrão, o tamanho /dev/shm é metade da memória do sistema. Então você tem que mudar a linha
/etc/fstab
de:para algo como:
df -h /dev/shm
mostrará o tamanho do tmpfs. Para evitar a reinicialização após a edição/etc/fstab
, você pode fazer:Mas com tanta memória eu iria com ASMM (SGA_TARGET) e páginas enormes. Especialmente se você tiver muitos clientes conectados. A sobrecarga para gerenciar 48 GB de páginas de 4 kB será bastante grande.