Использование SGA размером более 2 Гбайт

Оценить
(1 голос)

Некоторые приложения нуждаются во всей разделяемой памяти, которую они могут получить, особенно в высокопроизводительных средах, где дополнительная память в буферном кэше может обеспечить значительное повышение производительности. Однако для 32-разрядных версий СУБД Oracle необходимо будет изменить базовый адрес сегмента (параметр sgabeg) разделяемой памяти и перекомпоновать двоичный файл oracle с кодом программы прежде, чем можно будет воспользоваться SGA размером более 2 Гбайт. Этот метод несколько меняется для различных версий Oracle; данная процедура для Огас1е8 и более поздних выпусков описана в настоящем разделе.

Стандартная программа oracle поставляется с базовым адресом сегмента (sgabeg = 0x80000000), который позволяет использовать немногим менее 2 Гбайт разделяемой памяти SGA. Чтобы разрешить применение сегмента SGA-памяти размером около 3.75 Гбайт, уменьшите базовый адрес сегмента sgabeg до 0x80000000.

Представляемая процедура обеспечит перекомпоновку исполняемой программы oracle с базовым адресом сегмента sgabeg, установленным в значение 0x80000000:

oracle$ nm -Р $ORACLE_HOME/bin/oracle | grep sgabeg

sgabeg п 80000000 0

oracle? cd $ORACLE_HOME/rdbms/lib oracle? genksms -8 0x08000000 > ksms.s oracle? make -f ine_rdbm8.mk ksms.o oracle? make -f ine_rdbm8.mk ioracle

« удалены различные сообщения »

oracle$ пт -P $ORACLE_HOME/bin/oracle | grep sgabeg

sgabeg n 8000000 0 oracle$

Для более старых версий СУБД Oracle необходима только командная строка make -f ins_rdbms.mk ksms.o, но она не причинит вреда и в более поздних версиях, включая Oracle9i.

Чтобы позволить максимально возможный размер сегмента разделяемой памяти, убедитесь в том, что для параметра shmmax в файле /etc/system установлено достаточно высокое значение. Воспользуйтесь следующей командной строкой, которая устанавливает параметр shmmax в максимально возможное значение для 32-разрядных баз данных:

set shmsys:shminfo_shmmax=Oxffffffff

Для 64-разрядных версий СУБД Oracle установите значение параметра shmmax, как показано в следующей командной строке:

set shmsys:shminfo_shmmax=0xffffffffff

При увеличении размера SGA не забудьте оставить достаточный объем памяти для приложений так, чтобы системе не приходилось выполнять замещение страниц. Любые достижения производительности, связанные с использованием большого буферного кэша, будут более чем нейтрализованы отрицательным воздействием замещения страниц. Для получения информации о том, как распознавать страничное замещение, обратитесь к разделу "Первый этап. Мониторинг памяти" в главе 21.

Динамическое реконфигурирование в Oracle9i
Как СУБД Oracle выбирает между ISM и DISM
Преимущества применения динамической области SGA
Восстановление СУБД Oracle
Влияние контрольных точек на время восстановления

Добавить комментарий


Защитный код
Обновить