Я читаю руководство Oracle по установке базы данных на redhat 6, но не понимаю, почему Oracle рекомендует установить системный параметр file-max и nofile в /etc/sysctl.conf
http://docs.oracle.com/cd/B28359_01/install.111/b32285/toc.htm#LTDQI127
Итак, если я устанавливаю nofile в /etc/security/limits.conf для пользователя oracle, почему мне нужно устанавливать ограничение для всей системы?
Пример параметров Oracle в /etc/sysctl.conf:
fs.file-max = 65536 <------ UMMMMMMM ---->
kernel.shmall = 2097152
kernel.shmmax = 2147483648
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
Пример параметров Oracle /etc/security/limits.conf:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536 <----- UMMM so the hard limits of the oracle users is equal to the maximum system wide ---->
Я думаю, что эти параметры оракула неверны, но я хотел бы получить отзывы об этом.
В документации говорится:
Убедитесь, что параметры ядра, показанные в следующей таблице, установлены на значения больше или равные минимальному показанному значению. Процедура, следующая за таблицей, описывает, как проверить и установить значения.
Таким образом, вам не нужно устанавливать общесистемный предел для этого значения, просто по крайней мере это (лично я думаю, что общесистемный лимит был бы слишком низким).
Установка лимита на пользователя в 65536 кажется разумной.
Когда Oracle проверяет эти значения, он проверяется суперпользователем, у меня была эта проблема, когда я установил Oracle 11 в Red Hat 6. Я исправил проблему, когда я настроил это значение в /etc/sysctl.conf