Настройка ОС для серверов СУБД Oracle — различия между версиями

Материал из VAAL-WIKI
Перейти к: навигация, поиск
(Новая страница: «В данной статье описывается процесс настройки параметров ядра CentOS/RHEL. <p style="text-align:center"><b >…»)
 
Строка 31: Строка 31:
 
<span style="color:green">'''2) Параметры общей памяти(kernel.shmmni, kernel.shmmax и kernel.shmall):'''</span><br />
 
<span style="color:green">'''2) Параметры общей памяти(kernel.shmmni, kernel.shmmax и kernel.shmall):'''</span><br />
 
Параметры ''kernel.shmmax'' и ''kernel.shmall'' зависят от количества RAM, установленной на сервере. Параметр ''kernel.shmmax'' указывается в байтах, а ''kernel. shmall'' в страницах.
 
Параметры ''kernel.shmmax'' и ''kernel.shmall'' зависят от количества RAM, установленной на сервере. Параметр ''kernel.shmmax'' указывается в байтах, а ''kernel. shmall'' в страницах.
 +
Для определения максимума общей памяти (параметр ядра ''shmall'') в элементах размера страницы памяти, необходимо получить размер страницы в операционной системе (выполняем в терминале команду):
 +
<p style="text-align:left"><b > '''''#getconf PAGE_SIZE''''' </b ></p>
 +
<br />
 +
Максимальный размер общего сегмента ''shmmax'' должен равняться, по меньшей мере, половине общего объема памяти.''SHMMAX'' не может превышать размер RAM минус один байт, но должен быть больше чем сумма всех SGA на данном хосте. Минимальное значение ''536870912''.
 +
Oracle рекомендует установить максимальное количество сегментов общей памяти ''shmmni'' равным 4096.
 +
Текущее значение этих параметров можно узнать, выполнив команды:
 +
<p style="text-align:left"><b > '''''# cat /proc/sys/kernel/shmmax''''' </b ></p>
 +
<p style="text-align:left"><b > '''''# cat /proc/sys/kernel/shmall''''' </b ></p>
 +
<p style="text-align:left"><b > '''''# cat /proc/sys/kernel/shmmni''''' </b ></p>
 +
Параметр ''kernel.shmmax'' вычисляется следующим образом:<br />
 +
kernel.shmmax = RAM (в байтах) / 2,<br />
 +
Например:<br />
 +
<span style="color:navy">'''33568968704/2=16784484352'''</span><br />
 +
Количество байт оперативной памяти можно узнать, введя в терминале команду ''free -b''.<br />
 +
Минимальное значение для ''kernel.shmmax'' равняется <span style="color:DarkGreen">'''''536870912'''''</span><br />
 +
Параметр ''kernel.shmall'' вычисляется следующим образом:<br />
 +
kernel.shmall = RAM (в байтах) / 4096,<br />
 +
Например:<br />
 +
<span style="color:navy">'''33568968704/4096=8195549'''</span><br />
 +
Количество байт оперативной памяти можно узнать, введя в терминале команду ''free -b''.<br />
 +
Минимальное значение для ''kernel.shmall'' равняется <span style="color:DarkGreen">'''''2097152'''''</span>

Версия 11:52, 24 августа 2016

В данной статье описывается процесс настройки параметров ядра CentOS/RHEL.

Настройка параметров ядра CentOS/RHEL.

Настройка параметров ядра требуется для корректной установки и работы хостов на которых разворачиваются БД – PostgreSQL 9.4 и Oracle DB SE 11.2.0.4, а также сервера с ППО Вектор-М Перед тем как вносить изменения в файлы конфигурации, следует предварительно создать их резервные копии следующими командами:

# cp /etc/sysctl.conf /etc/sysctl.conf.bkp

# cp /etc/security/limits.conf /etc/security/limits.conf.bkp

# cp /etc/pam.d/login /etc/pam.d/login.bkp

# cp /etc/profile /etc/profile.bkp


Настройка параметров ядра для инсталляции DB Oracle 11.2.0.4.

Отредактируйте файл /etc/sysctl.conf:

# vim /etc/sysctl.conf

Рекомендуется закомментировать имеющиеся параметры kernel.shmmax и kernel.shmall. Далее они будут добавлены в качестве параметров вместе с остальными параметрами Oracle.
1) Параметры виртуальной памяти:
Добавьте в конец файла /etc/sysctl.conf следующие строки:
vm.dirty_expire_centisecs=500
vm.dirty_writeback_centisecs=100
vm.swappiness=0
vm.dirty_background_ratio=3
vm.dirty_ratio=15
Или выполните в терминале следующие команды(от root):

# echo '#### New Oracle Kernel Parameters ####' >> /etc/sysctl.conf

# echo '#These parameters a recommended to control the rate at which virtual memory is reclaimed' >> /etc/sysctl.conf

# echo 'vm.swappiness=0' >> /etc/sysctl.conf

# echo 'vm.dirty_background_ratio=3' >> /etc/sysctl.conf

# echo 'vm.dirty_ratio=15' >> /etc/sysctl.conf

# echo 'vm.dirty_expire_centisecs=500' >> /etc/sysctl.conf

# echo 'vm.dirty_writeback_centisecs=100' >> /etc/sysctl.conf

# echo >> /etc/sysctl.conf

# sysctl -p

2) Параметры общей памяти(kernel.shmmni, kernel.shmmax и kernel.shmall):
Параметры kernel.shmmax и kernel.shmall зависят от количества RAM, установленной на сервере. Параметр kernel.shmmax указывается в байтах, а kernel. shmall в страницах. Для определения максимума общей памяти (параметр ядра shmall) в элементах размера страницы памяти, необходимо получить размер страницы в операционной системе (выполняем в терминале команду):

#getconf PAGE_SIZE


Максимальный размер общего сегмента shmmax должен равняться, по меньшей мере, половине общего объема памяти.SHMMAX не может превышать размер RAM минус один байт, но должен быть больше чем сумма всех SGA на данном хосте. Минимальное значение 536870912. Oracle рекомендует установить максимальное количество сегментов общей памяти shmmni равным 4096. Текущее значение этих параметров можно узнать, выполнив команды:

# cat /proc/sys/kernel/shmmax

# cat /proc/sys/kernel/shmall

# cat /proc/sys/kernel/shmmni

Параметр kernel.shmmax вычисляется следующим образом:
kernel.shmmax = RAM (в байтах) / 2,
Например:
33568968704/2=16784484352
Количество байт оперативной памяти можно узнать, введя в терминале команду free -b.
Минимальное значение для kernel.shmmax равняется 536870912
Параметр kernel.shmall вычисляется следующим образом:
kernel.shmall = RAM (в байтах) / 4096,
Например:
33568968704/4096=8195549
Количество байт оперативной памяти можно узнать, введя в терминале команду free -b.
Минимальное значение для kernel.shmall равняется 2097152