DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Настройка HP-UX


В среде HP-UX имеется больше параметров для настройки, чем в большинст­ве других Операционных систем. Почти во всех случаях после изменения пара­метров необходимо провести перестройку ядра и перезагрузку сервера. Затем, для того чтобы ОС удовлетворяла требованиям Oracle, нужно выполнить неко­торые патчи ОС. Мы упомянем об этом, так как администраторам базы данных, эксплуатирующейся в среде HP-UX, необходимо знать о тех патчах ОС, которые установит системный администратор (СА) настраиваемой вычислительной установки. В обязанности АБД входит и ведение таблицы закрытия, содержа­щих информацию о том, какие патчи установлены и какие из них нарушают лю­бые требования использующейся версии Oracle. Иногда эти патчи нуждаются в дополнительных действиях, чтобы Oracle по-прежнему работал без проблем. В некоторых случаях приходится сталкиваться с подобными ситуациями, так что
будьте в курсе всех изменений, произведенных с операционной системой.
В HP-UX необходимо отслеживать и настраивать параметры ядра для общей памяти и семафоров. При выполнении подобных изменений параметров требу­ется поставляемое HP-UX специальное управляемое меню инструментальное средство. Оно называется sam (System Administration Manager). Для того чтобы пользоваться sam, нужно иметь привилегии root. Этим делом должен занимать­ся СА. Тем не менее, вам по силам использовать другие команды ОС, чтобы про­верять значения всех параметров ядра, для выполнения которых не требуются привилегии root. Проверка необходима для уверенности, что мы получаем именно такое ядро, которое ожидали. Команда sysdef отображает всю относящу­юся к системе информацию. Можно перенаправить ее выходные данные в файл, а затем отыскивать в нем значения интересующих параметров.
В версии       используется более модная команда        (которая не требу-
ет привилегий root для обращения к параметрам ядра и их печати). Может
быть, для ее выполнения придется указать полный путь -
если каталог /usr/sbin не включен в переменную среды PATH. Кроме того, ее применяют для модификации параметров ядра (при наличии полномочий root), так что будьте осторожны. Пользуясь командой kmtune, можно получить значе­ния конкретных параметров ядра, а не распечатывать их все, как это делает команда sysdef, что конечно гораздо удобнее. Полезную информацию об этих командах можно найти на страницах соответствующего руководства. Приведен­ный ниже пример показывает, как, используя команду kmtune, в короткой и длинной формах запросить значение параметра 

semmns. 

Параметр -q означает запрос, а -1 - длинную форму вывода результатов. Мы предпочитаем длинный формат, так как в этом случае для параметра ядра распечатывается его значение по умолчанию, текущее и минимальное значения.
□ prodhp[oracle]% /usr/sbin/kmtune -q semmns
Parameter        Value

semmns        2048
prodhp[oracle]% /usr/sbin/kmtune -1 -q semmns
Parameter:        semmns
Value:        2048
Default:        128
Minimum:
Module:
Имеется несколько весьма специфичных настраиваемых параметров ядра для улучшения производительности системы HP-UX. Мы поговорим о них в сле­дующих разделах.

Асинхронный ввод/вывод
HP-UX поддерживает асинхронный ввод/вывод только для сырых устройств. Если использовать их для хранения файлов данных, имеет смысл рассмотреть вопрос о применении асинхронного ввода/вывода. При этом при­дется конфигурировать драйвер асинхронного ввода/вывода в ядре операци­онной системы HP-UX, используя утилиту
В Справочном руководстве администратора OracleSi для HP-UX перечисля­ются все шаги, следуя которым можно реализовать асинхронный ввод/вывод в
системах HP-UX.

Блокировка SGA в памяти
HP-UX поддерживает блокировку или прикалывание совместно используе-
мых сегментов памяти в оперативной памяти. Процесс запрашивает такую бло-
кировку при помощи операции по управлению совместно используемой
памятью со специальным параметром. Особая привилегия - MLOCK - должна
быть предоставлена группе владельцев процесса, запрашивающего эту опера-
цию. Такую операцию должен запрашивать процесс запуска системы для Oracle
(которым, как правило, владеет пользователь 

oracle с 

группой 

dba). 

Чтобы сде-
лать это возможным, нужно включить в файл        элемент:
dba MLOCK
Если файл /etc/privgroup не существует, его необходимо создать. Затем сле­дует выполнить команду setprivgrp -f/etc/privgroup для предоставления при­вилегий группам, перечисленным в файле etc/privgroup. Привилегии
переназначаются этим группам во время выполнения процесса загрузки. ОС во время загрузки выполняет сценарий /sbin/init.d/set_priv. В этом сценарии ра­ботает та же самая команда. Все, что от нас требуется, - это установить пара­метр инициализации LOCK_SGA равным TRUE, что должно завершить все установочные работы для использования такой опции. При следующем запуске базы данных область SGA закрепится в памяти и не будет рассматриваться демо­ном подкачки страниц как кандидат на участие в обычных операциях подкачки.
Но хотя эта методика улучшает производительность базы данных, она огра­ничивает доступную другим процессам память. Поэтому необходимость удосто­вериться, что при этом не пострадала общая производительность остальных процессов, также ложится на плечи АБД. Он должен проделать определенную работу, задавая вопросы, как много памяти конфигурировано системе, сколько выделено Oracle, какое количество требуется для процессов пользователей и т. д.
Настройка буферного кэша файловой системы
Для HP-UX 10.x и более поздних версий ОС может использовать (и использует) более 50% реальной памяти для буферного кэша своей файловой системы (уста­новка по умолчанию). Этот кэш содержит блоки данных при их передаче с диска в память и из памяти на диск. В более старых версиях HP-UX (9.x и 10.x) пара­метр ядра 

bufjxigt 

определяет, как много страниц по 4096 

байт 

распределено для
буферного кэша файловой системы. Он устанавливает верхний предел для это­го кэша, который является статическим.
Однако для HP-UX 10.x компания Hewlett-Packard рекомендует устанавли­вать 

bufpages 

равным 0, разрешая тем самым создание динамического кэша. Ди­намическая природа кэша позволяет HP-UX приобретать для буферного кэша более 50% памяти. Два новых параметра ядра - 

dbc_max_}>c. и dbci_?nhi___pa 

- конт­ролируют количество общей памяти, выделяемой для буферного кэша.
(#с_тах_/>сгустанавливает верхний предел, до которого разрешено расти буфер-
ному кэшу. Его значение по умолчанию равно 50% реальной памяти. Значение
по умолчанию        равно 5% реальной памяти.
Когда нагрузка на систему (в нашем случае - запросы на ввод/вывод) дости­гает высокого уровня, ОС продолжает увеличивать буферный кэш файловой си­стемы до максимальных размеров, разрешенных параметром 

dbc_max_pct. 

Но (по теории), если будут поступать запросы на память для процессов, предпола­гается, что ОС начнет сокращать буферный кэш файловой системы и распреде­лять освободившиеся страницы под память для процессов.
Но если требования на блоки ввода/вывода будут оставаться высокими, при-
дется делать нечто противоположное, высвобождая страницы памяти, ранее
распределенные для процессов, и выделяя их для буферного кэша. При этом
возникнут проблемы с производительностью, о чем, скорее всего, и будет доло-
как о ситуации 

page outs 

(po) в выходных данных команды        и как
%sys командой sar по мере роста активности в системе. Если требования по па­мяти в системе продолжают расти, ОС вынуждена будет начать так деактивацию процессов, что на языке layperson ОС означает свопинг. Интен­сивная подкачка страниц и/или свопинг вызовут в системе дополнительные на­кладные расходы, и полная производительность системы начнет деградировать.
Для решения проблемы необходимо рассмотреть вопрос о настройке буфер-
ного кэша файловой        на меньшие значения. Идея заключается в зада-
нии достаточно низкого значения параметра        позволяющего иметь
буферный кэш и в то же время оставить достаточно памяти для выделения под
процессы. Предположим, что мы начнем со значений 15% для 

dbc_max_pctm 2%


для Oracle рекомендует так откорректировать        чтобы бу-
ферный кэш не превышал 128 Мбайт. После изменения этих параметров до
предполагаемых значений было бы разумно провести мониторинг системы на
предмет подкачки страниц и узких мест        и должным образом на-
строить эти параметры. Таким образом, если для поддержки базы данных испо­льзуются неформатированные устройства или она сконфигурирована для использования прямого ввода/вы иода, следует попытаться уменьшить буфер­ный кэш файловой системы, так как он больше не используется Oracle.
Если для журнализированиой файловой системы (VxFS) применяется про­дукт HP OnlineJFS, можно избежать использования буферного кэша файловой системы. Для этого при монтировании конкретной файловой системы задейст-вуется параметр 

mimache=direcl. 

В таком случае данные, которые считываются из (или записываются в) журнализированных файловых систем, будут проходить мимо буферного кэша файловой системы. Кроме того, возможно исследование применения параметра монтирования convosync в сочетании 

с mine ache. 

Будьте в дружеских отношениях со своим системным администратором и сначала экс­периментируйте со своими тестовыми (отладочными) базами данных, чтобы понять, как и что работает.
 









jAntivirus